别裁伪体亲风雅,转益多师是汝师。这篇文章主要讲述Android应用打开外部文件相关的知识,希望能为你提供帮助。
【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 |
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(); } }
如此我们便能获取到打开文件的路径,接下来就能自己操作该文件了。
推荐阅读
- Android注解神器 ButterKnife框架
- Online Resource Mapping for SDN Network Hypervisors using Machine Learning
- Android Studio -No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-lin
- Android Studio - Unable to create Debug Bridge: Unable to start adb server: adb server version (32)
- Android Hook框架adbi源码浅析
- APP上架必备-山西软件著作权申请登记
- Android StickyListHeadersListView头部悬停 分组列表实现
- 天天生鲜 - App设计
- Android-自定义TabHost