Android应用打开外部文件

我们有时候遇到要打开一个文件,我们可以选择用其他应用打开,这时弹出来的应用列表,那么我们如何让自己开发的应用也能出现在里面呢?

第一步:设置启动Activity的intent-filter,给data 指定可以打开的mimeType.(注意允许文件操作的权限)

 <activity
            android:name=".StartActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
            <intent-filter>
                <action android:name="android.intent.action.VIEW"/>
                <category android:name="android.intent.category.DEFAULT"/>
                <data android:mimeType="*/*"/>
            </intent-filter>
        </activity>

mimeType的值,我们可以根据需要设置对应的文件类型

文件类型 mimeType
.pdf application/pdf
.jpg image/jpeg
.txt text/plain
.apk application/vnd.android.package-archive
所有文件 */*

 

 

 

 

 

第二步:在我们设置接受的Activity 中获取文件的Uri

//StartActivity  
Intent intent=getIntent(); if (intent!=null) { Uri uriFileShare = intent.getData(); if(uriFileShare!=null){ String filePath= uriFileShare.getPath(); } }

如此我们便能获取到打开文件的路径,接下来就能自己操作该文件了。

 

posted @ 2018-11-03 21:00  CoCoBill  阅读(1466)  评论(0编辑  收藏  举报