我們有時候遇到要打開一個文件,我們可以選擇用其他應用打開,這時彈出來的應用列表,那么我們如何讓自己開發的應用也能出現在里面呢?
第一步:設置啟動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(); } }
如此我們便能獲取到打開文件的路徑,接下來就能自己操作該文件了。