Кордова: Не удается получить приложение, которое предлагается только для открытия файлов с пользовательским расширением / mimeType - PullRequest
0 голосов
/ 11 апреля 2019

Итак, я работаю над приложением для 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>
...