用戶點擊獲取對話框的「打開方式...」並沒有列出我的應用程序。 當我嘗試打開文件時,我想獲取它的絕對路徑。我得到的是內容:// URI如何使用intent.action.VIEW打開文件時獲取文件URI?
I/ActivityManager: START u0 {act=android.intent.action.VIEW dat=content://com.android.providers.downloads.documents/document/1031 typ=text/plain
如果我想要檢索路徑,我的文件,我需要得到的file:// URI。我怎樣才能得到file://
URI而不是content://
?
這裏是AndroidManifest
<intent-filter >
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="text/*"/>
</intent-filter>
這裏是我嘗試處理文件:
Intent i = getIntent();
String action = i.getAction();
String type = i.getType();
if (Intent.ACTION_VIEW.equals(action) && type != null) {
Uri uri = i.getData();
if (uri != null) {
Toast.makeText(this, uri.toString(), Toast.LENGTH_SHORT).show();
}
}
但我想不是隻讀文件,我也想編輯文件並保存。 –
@PersonalJesus:在'ContentResolver'上也有'openOutputStream()'。督察,你會做一個絕對路徑和同樣的事情'FileInputStream' /'FileOutputStream'的東西,你可以用'content'做'Uri'和'openInputStream()'/'openOutputStream()'。 – CommonsWare