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
.pdfapplication/pdf
.jpgimage/jpeg
.txttext/plain
.apkapplication/vnd.android.package-archive
所有文件*/*

 

 

 

 

 

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

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

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

 

相关文章