一、申請權(quán)限
需要申請權(quán)限讀寫外部文件,在Manifest文件中輸入以下代碼對權(quán)限進(jìn)行聲明,分別是讀外部文件權(quán)限和寫外部文件權(quán)限:文章來源:http://www.zghlxwxcb.cn/news/detail-717313.html
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"
android:maxSdkVersion="32" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"
tools:ignore="ScopedStorage" />
二、調(diào)用系統(tǒng)文件選擇器
Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT);
//篩選文件(這里是讀取音頻目錄)
intent.setType("audio/*");
//調(diào)用系統(tǒng)文件選擇器
startActivityForResult(intent,100);
三、在Activity回調(diào)函數(shù)中接收Uri并處理
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == Activity.RESULT_OK && requestCode == 100) {
//獲取Uri
Uri uri = data.getData();
//根據(jù)Uri查詢文件名
Cursor cursor = ((Activity)context).getContentResolver().query(uri,null,null,null,null);
if(cursor != null){
int nameIndex = cursor.getColumnIndex(OpenableColumns.DISPLAY_NAME);
cursor.moveToFirst();
//文件名
String fileName = cursor.getString(nameIndex);
cursor.close();
System.out.println(fileName);
}
}
}
運(yùn)行效果:
直接復(fù)制就能用,沒效果你來砍我文章來源地址http://www.zghlxwxcb.cn/news/detail-717313.html
到了這里,關(guān)于Android 調(diào)用系統(tǒng)文件選擇器讀取Uri并獲得文件名的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!