日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > Android >内容正文

Android

android 本地资源 uri,Android 本地文件选择

發(fā)布時間:2025/3/15 Android 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android 本地资源 uri,Android 本地文件选择 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

打開系統(tǒng)文件:

Intent intent = new Intent(Intent.ACTION_GET_CONTENT);

intent.setType("*/*");

intent.addCategory(Intent.CATEGORY_OPENABLE);

try {

startActivityForResult(Intent.createChooser(intent, getString(R.string.im_text_select_file)), SEND_NORMAL_FILE);

} catch (android.content.ActivityNotFoundException ex) {

BAUtil.showToast(this, "未找到文件管理應(yīng)用,請安裝文件管理應(yīng)用后再試");

}

回調(diào)方法:

protected void onActivityResult(int requestCode, int resultCode, Intent data) {

super.onActivityResult(requestCode, resultCode, data);

switch (requestCode) {

case SEND_NORMAL_FILE:

try {

String path = "";

if (Build.VERSION.SDK_INT >= 19) {

path = handleImageOnKitKat(context, data);

} else {

path = handleImageBeforeKitKat(context, data);

}

doSendNormalFile(path, BAAttach.TYPE_FILE);

} catch (Exception e) {

e.printStackTrace();

}

break;

}

}

@TargetApi(Build.VERSION_CODES.KITKAT)

public static String handleImageOnKitKat(Context context, Intent data) {

Uri uri = data.getData();

if (DocumentsContract.isDocumentUri(context, uri)) {

String docId = DocumentsContract.getDocumentId(uri);

if ("com.android.providers.media.documents".equals(uri.getAuthority())) {

String id = docId.split(":")[1];

String selection = MediaStore.Images.Media._ID + "=" + id;

String type = docId.split(":")[0];

Uri contentUri = null;

if (type.equalsIgnoreCase("image")) {

contentUri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI;

} else if (type.equalsIgnoreCase("audio")) {

contentUri = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI;

} else if (type.equalsIgnoreCase("video")) {

contentUri = MediaStore.Video.Media.EXTERNAL_CONTENT_URI;

}

return getImagePath(context, contentUri, selection);

} else if ("com.android.providers.media.downloads.documents".equals(uri.getAuthority())) {

Uri contentUri = ContentUris.withAppendedId(Uri.parse("content://downloads/public_downloads"),

Long.valueOf(docId));

return getImagePath(context, contentUri, null);

} else if ("content".equals(uri.getAuthority())) {

return getImagePath(context, uri, null);

} else if ("file".equals(uri.getAuthority())) {

return uri.getPath();

}

}

return "";

}

public static String handleImageBeforeKitKat(Context context, Intent data) {

Uri uri = data.getData();

return getImagePath(context, uri, null);

}

private static String getImagePath(Context context, Uri uri, String selection) {

String path = null;

Cursor cursor = context.getContentResolver().query(uri, null, selection, null, null);

if (cursor != null) {

if (cursor.moveToFirst()) {

path = cursor.getString(cursor.getColumnIndex(MediaStore.Images.Media.DATA));

}

cursor.close();

}

return path;

}

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎

總結(jié)

以上是生活随笔為你收集整理的android 本地资源 uri,Android 本地文件选择的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。