Итак, я работаю над приложением для Android, реализуя его с помощью Cordova.Приложение работает нормально, но я столкнулся с проблемой, заставляя его предлагаться только в контекстном меню «открыть с» для файлов проекта с нашим собственным расширением файла.Идея заключается в том, что вы можете нажать на один из этих файлов проекта (которые генерируются приложением) и заставить его запустить приложение и открыть проект.До сих пор я смог заставить это работать, сделав его доступным для всех типов mimeType.Это означает, что если вы нажмете на любой файл, это даст нашему приложению возможность открыть его.Кажется, он игнорирует расширение файла в pathPattern, который я ему даю.
Это плагин, который я использую, чтобы попытаться зарегистрировать тип файла в своем приложении: https://github.com/j3k0/cordova-plugin-openwith
I 'мы пытались создать пользовательские mimeTypes, такие как 'application / customType', но обычно это приводит к тому, что проводник говорит, что нет приложения, которое может открыть файл.
Я также попытался поместить несколько pathPatterns, чтобы обойти проблему,быть другим "."оно должно сбежать где-нибудь на пути.
Есть идеи, что здесь делать?Я бы предпочел, чтобы приоритет имел расширение файла, а не mimeType, но я думаю, что Android просто так не работает.
Мой фильтр намерений из моего config.xml.
<platform name="android">
<allow-intent href="market:*" />
<config-file parent="./application/activity"
target="AndroidManifest.xml">
<intent-filter android:name="com.company.name">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="file" />
<data android:mimeType="*/*" />
<data android:pathPattern=".*\\.customExtension" />
</intent-filter>
</config-file>
</platform>
Плагин openWith в config.xml:
<plugin name="cc.fovea.cordova.openwith" spec="^1.2.0">
<variable name="ANDROID_MIME_TYPE" value="text/plain" />
<variable name="ANDROID_EXTRA_ACTIONS" value=" " />
</plugin>