如何使活动出现在“选择文件”对话框中?

时间:2013-02-18 22:48:55

标签: android android-intent filechooser

示例:当您单击按钮上载图像时,您将获得选择文件的对话框。然后,您可以选择要选择的应用程序。如何让我的应用程序出现在该对话框中?

3 个答案:

答案 0 :(得分:2)

您需要在要处理上传的活动中的清单文件中添加Intent过滤器。例如: 我有一个处理图像导入的Activity,这就是我写的。

activity android:name="com.ImportTheme">

    <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:host="*" android:scheme="file" android:mimeType="image/*" />              
    </intent-filter>

</activity>

正如你所看到的,你需要添加适合你所寻找的mime类型,在我的例子中,我只想要图片 - png,jpg等。

检查下一个link,你有一个mime类型列表。

答案 1 :(得分:1)

将以下意图过滤器添加到您希望进行挑选的“活动”中:

        <intent-filter >
            <action android:name="android.intent.action.PICK" />

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

            <data android:scheme="file" />
        </intent-filter>
        <intent-filter >
            <action android:name="android.intent.action.GET_CONTENT" />

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

            <data android:mimeType="*/*" />
        </intent-filter>

第一个处理动作选择,第二个处理获取内容。

您可能希望更改mimeType以限制选择。我提供的那个将把你的应用程序放在每种类型文件的选择器中。

答案 2 :(得分:0)

simple and complete example code (less than 50 lines)用于在打开TXT文件时,Android将向用户呈现的应用以及兼容应用(极地,浏览器等)的菜单列表。

免责声明:如果用户之前未确定默认应用

注意:TXT可能会针对其他扩展进行更改,始终关注mime类型。