Android应用打开外部文件

Posted changemsblog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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(); } }

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

 


以上是关于Android应用打开外部文件的主要内容,如果未能解决你的问题,请参考以下文章

Android 逆向使用 DB Browser 查看并修改 SQLite 数据库 ( 从 Android 应用数据目录中拷贝数据库文件 | 使用 DB Browser 工具查看数据块文件 )(代码片段

Android 逆向使用 DB Browser 查看并修改 SQLite 数据库 ( 从 Android 应用数据目录中拷贝数据库文件 | 使用 DB Browser 工具查看数据块文件 )(代码片段

Android 在我的应用程序中打开 pdf 没有外部 API

手电筒片段 Android Studio

Android获取各个应用程序的缓存文件代码小片段(使用AIDL)

如何从Android中的片段单击按钮打开片段