我的应用程序在文件资源管理器中没有显示为建议?

时间:2017-02-21 06:13:14

标签: java android

我的项目是一个下载管理器,可以打开下载内容的链接。 我想添加此功能,当我使用chrome Bower并点击链接时,我的应用程序建议用户使用它来打开链接。

我用过

<category android:name="android.intent.category.DEFAULT"/>

但没有效果。

这是我的清单:

   <application
    android:allowBackup="true"
    android:icon="@drawable/gigaget"
    android:label="@string/app_name">


    <activity
        android:name=".ui.main.MainActivity"
        android:label="@string/app_name"
        android:theme="@style/Theme.App.Blue"
        android:launchMode="singleTask">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
        <intent-filter>

            <action android:name="us.shandian.giga.intent.DOWNLOAD"/>
            <category android:name="android.intent.category.DEFAULT"/>
            <category android:name="android.intent.category.BROWSABLE"/>
            <data
                android:mimeType="application/*"
                android:host="*"
                android:scheme="http"/>
            <data
                android:mimeType="application/*"
                android:host="*"
                android:scheme="https"/>
        </intent-filter>
    </activity>

    <activity
        android:name=".ui.main.DetailActivity"
        android:label="@string/app_name"
        android:theme="@style/Theme.App.Blue">

        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>

    </activity>

    <activity
        android:name=".ui.web.BrowserActivity"
        android:label="@string/browser"
        android:theme="@style/Theme.App.Blue">

        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>

    </activity>

    <activity-alias
        android:name=".ui.web.BrowserActivity-share"
        android:label="@string/open_with_gigaget"
        android:targetActivity=".ui.web.BrowserActivity">

        <intent-filter>
            <action android:name="android.intent.action.SEND"/>
            <category android:name="android.intent.category.DEFAULT"/>
            <data android:mimeType="text/*"/>
        </intent-filter>

    </activity-alias>

    <activity
        android:name=".ui.settings.SettingsActivity"
        android:label="@string/settings"
        android:theme="@style/Theme.App.Blue">

        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>

    </activity>

    <activity
        android:name="com.nononsenseapps.filepicker.FilePickerActivity"
        android:label="@string/app_name"
        android:theme="@style/Theme.App.Blue">

    </activity>

    <service
        android:name=".service.DownloadManagerService"/>

</application>

拥有此权限:

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

为什么我无法像其他应用程序那样将我的应用程序视为建议的应用程序下载。 有什么帮助吗?

1 个答案:

答案 0 :(得分:0)

你需要告诉android你的应用应该成为选择器的一部分

在清单中,您必须声明您有一个可以处理相关内容的活动

<manifest ... >
    <application ... >
        <activity android:name=".MyDownloadActivity" ...>
            <intent-filter >
                <action android:name="android.intent.action.VIEW" />
                <action android:name="android.intent.action.SEND" />
                <action android:name="android.intent.action.SENDTO" />

                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />

                <data
                    android:mimeType="*/*"
                    android:scheme="file" />
            </intent-filter>
            <intent-filter > <!-- mime only SEND(_TO) -->
                <action android:name="android.intent.action.SEND" />
                <action android:name="android.intent.action.SENDTO" />
                <action android:name="android.intent.action.VIEW" />

                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />
                <category android:name="android.intent.category.CATEGORY_OPENABLE" />
                <data android:mimeType="*/*" />
            </intent-filter>
        </activity>
    </application>