8

in Android 6.0 Marshmallow, is it possible to assign a default app to a file type that isn't listed yet? Specifically, I have *.notes for plain text notes, and *.md files for markdown. Windows is set to open them with my editor.

Is this possible in Android? So far, I can only assign default apps to file types that are already listed. Not to ones that aren't yet. From here etc., I find several different apps all called 'default app manager'. None of them seem to offer what I want.

Any suggestions?

1
  • It turns out that editing any single text file in both Windows and Android (or *nix) is not a good idea, because of the different end-of-line characters. Use a web-based editor if you want to edit text on all platforms (I don't know a good one. Yet).
    – RolfBly
    Aug 4, 2017 at 19:15

2 Answers 2

5

Although this is slightly programming-related, nevertheless;

You can't assign an application to open a specific file extension (.notes or .md in this case) if the application has no explicit intent filter declared in the manifest file to open that extension type.

When an app is developed, it usually contains various intent categories and intent filters for the particular file extension(s) that makes Android recognise the capability to open a file extension.

If the declared intent filter matches that of a particular file, say .pdf, then Android populates and lists all available applications capable of handling that file type. Otherwise, if no application contains the specific intent to open/browse, etc. the particular file extension (.md or .notes in this case), then there is no way to set a default application for that file extension or at least to open that extension.

To expand on this, let's consider an intent filter for a certain application capable of opening/handling audio files:

<intent-filter ...>
    <action android:name="android.intent.action.VIEW"/>
    <category android:name="android.intent.category.DEFAULT"/>
    <category android:name="android.intent.category.BROWSABLE"/>
    <data android:scheme="content"/>
    <data android:scheme="file"/>
    <data android:mimeType="application/x-flac"/>
    <data android:mimeType="audio/*"/>
    <data android:mimeType="application/ogg"/>
    <data android:mimeType="application/x-ogg"/>
    <data android:mimeType="application/itunes"/>
</intent-filter>

In the named intents categories, this audio application will have the capability to handle file extensions of audio types including .ogg and iTunes file types.

Unless the intent to browse or open these file extensions has been declared in the manifest files of your already installed applications, you can't assign any application as the default. Either you first have to install an app capable of handling such extension or create your own application using suitable filters.

Related: Android intent filter for a particular file extension?

0

I agree with xavier_fakerat's answer: a little change in the manifest file or file activity would do the required action.

For e.g., you can copy RAR's intent activity to DraStic DS Emulator's manifest file and make it support zip or 7z files (even on Android 6.0, 7.0 & 8.0+). To do this change on Android, you can use APK Editor Pro which would suit the purpose.

P.S. APK Editor Pro is an easy-to-use APK. It works best on rooted devices, yet works decently on non-rooted devices.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .