国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

android uri轉(zhuǎn)換file

這篇具有很好參考價(jià)值的文章主要介紹了android uri轉(zhuǎn)換file。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

下載jar包c(diǎn)ommons-io-2.11.0.jar導(dǎo)入項(xiàng)目工程,導(dǎo)入import org.apache.commons.io.FileUtils;

如果使用系統(tǒng)import android.os.FileUtils;有些手機(jī)不兼容會(huì)導(dǎo)致項(xiàng)目崩潰文章來源地址http://www.zghlxwxcb.cn/news/detail-665112.html

 public static File uriToFileApiQ(Uri uri, Context context) {
 
        Log.e("uriToFileApiQ","哦=="+uri);
        File file = null;
        if(uri == null) return file;
        //android10以上轉(zhuǎn)換
        if (uri.getScheme().equals(ContentResolver.SCHEME_FILE)) {
            file = new File(uri.getPath());
        } else if (uri.getScheme().equals(ContentResolver.SCHEME_CONTENT)) {
            //把文件復(fù)制到沙盒目錄
            ContentResolver contentResolver = context.getContentResolver();
            String displayName = System.currentTimeMillis()+ Math.round((Math.random() + 1) * 1000)
                    +"."+ MimeTypeMap.getSingleton().getExtensionFromMimeType(contentResolver.getType(uri));
 
//            注釋掉的方法可以獲取到原文件的文件名,但是比較耗時(shí)
//            Cursor cursor = contentResolver.query(uri, null, null, null, null);
//            if (cursor.moveToFirst()) {
//                String displayName = cursor.getString(cursor.getColumnIndex(OpenableColumns.DISPLAY_NAME));}
Log.e("兼容","兼容=="+displayName);
 
            try {
                InputStream is = contentResolver.openInputStream(uri);
                File cache = new File(context.getExternalFilesDir(Environment.DIRECTORY_PICTURES).getAbsolutePath(), displayName);
                FileOutputStream fos = new FileOutputStream(cache);
                Log.e("uriToFileApiQ","進(jìn)入=");
//                FileUtils.copy(is, fos);//有的手機(jī)會(huì)崩潰
                FileUtils.copyInputStreamToFile(is,cache);
                Log.e("uriToFileApiQ","來了=");
                file = cache;
                fos.close();
                is.close();
            } catch (IOException e) {
                Log.e("uriToFileApiQ","報(bào)錯(cuò)="+e.getMessage());
                e.printStackTrace();
            }
        }
 
 
        return file;
    }

到了這里,關(guān)于android uri轉(zhuǎn)換file的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Android各個(gè)應(yīng)用商店Uri

    三星: URL: https://apps.samsung.com/appquery/AppRating.as?appId=PackageName URI: “samsungapps://AppRating/PackageName” Onestore ”onestore://common/product/bg_update/PID“ https://m.onestore.co.kr/mobilepoc/apps/appsDetail.omp?prodId=PID Google Play “market://details?id=PackageName” 華為 “appmarket://details?id=PackageName” vivo “vivoMa

    2024年01月22日
    瀏覽(20)
  • Android系統(tǒng)的問題分析筆記(9) - Android 中的 Uri 如何使用呢 ?

    Android系統(tǒng)的問題分析筆記(9) - Android 中的 Uri 如何使用呢 ?

    Android 中常用的 uri 如何使用呢 ?(此篇分析基礎(chǔ)為Android 7.1.1系統(tǒng)源碼),參看Android官方說明:https://developer.android.com/reference/android/net/Uri,代碼可在此查看:https://github.com/LineageOS/android_frameworks_base/blob/lineage-20.0/core/java/android/net/Uri.java ??通用資源標(biāo)志符 URI (Universal Resour

    2024年02月09日
    瀏覽(28)
  • 【Android 11/12】 通過Uri獲取絕對(duì)路徑的方法

    原理:通過對(duì)不同的Uri進(jìn)行辨別,提取ID, 需要 android.permission.MANAGE_EXTERNAL_STORAGE 權(quán)限 直接獲取\\\"primary:\\\"后的路徑即可,后面即是相對(duì)路徑. 與下一個(gè)類似,獲取ID后進(jìn)入數(shù)據(jù)表中查找. 進(jìn)入MediaStore.Files表中進(jìn)行查詢_data字段,舊版通過直接查詢uri的方法獲取_data已經(jīng)無效. 下面

    2024年02月15日
    瀏覽(25)
  • Android 調(diào)用系統(tǒng)文件選擇器讀取Uri并獲得文件名

    Android 調(diào)用系統(tǒng)文件選擇器讀取Uri并獲得文件名

    需要申請(qǐng)權(quán)限讀寫外部文件,在Manifest文件中輸入以下代碼對(duì)權(quán)限進(jìn)行聲明,分別是讀外部文件權(quán)限和寫外部文件權(quán)限: 運(yùn)行效果: 直接復(fù)制就能用,沒效果你來砍我

    2024年02月08日
    瀏覽(13)
  • Java的URI類

    Java的URI類

    URI是對(duì)URL的抽象,不僅包含統(tǒng)一資源定位符,還包括統(tǒng)一資源名(URN)。實(shí)際使用的URI大多是URL,但大多數(shù)規(guī)范和標(biāo)準(zhǔn)都是用URI定義的,在Java中用java.net.URI類表示,這個(gè)類與java.net.URL類的區(qū)別表現(xiàn)在3個(gè)重要的方面: URI類完全有關(guān)于資源的標(biāo)識(shí)和URI的解析。它沒有提供方法來

    2024年02月06日
    瀏覽(21)
  • 開發(fā)Android原生插件,引入自己打的jar報(bào),編譯報(bào) Unsupported class file major version 61

    “Unsupported class file major version 61” 錯(cuò)誤的原因是由于你自己大的jar包當(dāng)時(shí)是用的Java 17打包的,因?yàn)樵?Java 中,每個(gè)主要版本都有一個(gè)對(duì)應(yīng)的 major version 值。例如,Java 8 的 major version 值為 52,Java 9 的 major version 值為 53,以此類推。Java 17 的 major version 值為 61。 解決這個(gè)問題,

    2024年02月09日
    瀏覽(29)
  • Android將Uri轉(zhuǎn)為路徑字符串(適配安卓全版本)并使用第三方應(yīng)用打開文件(適配Android7.0+)

    做這個(gè)功能時(shí)在網(wǎng)上找了無數(shù)篇例子,有些方法是有問題的,故自己寫一篇完整實(shí)現(xiàn)的總結(jié),作備忘也作案例。順便說一句,Android對(duì)存儲(chǔ)權(quán)限的給予真的越來越嚴(yán)格 目錄 1.Uri轉(zhuǎn)為路徑String以獲得文件名? 2.獲取文件后綴名 3.通過后綴名獲取文件MIME類型? 4.設(shè)置Intent的Uri與權(quán)限

    2024年02月19日
    瀏覽(24)
  • 整數(shù)轉(zhuǎn)換-C語言/Java

    整數(shù)轉(zhuǎn)換-C語言/Java

    描述 整數(shù)轉(zhuǎn)換。編寫一個(gè)函數(shù),確定需要改變幾個(gè)位才能將整數(shù)A轉(zhuǎn)成整數(shù)B。A,B范圍在[-2147483648, 2147483647]之間。 示例1: 示例2: 輸入:A = 1,B = 2 ?輸出:2 分析: 確定需要改變幾個(gè)位才能將整數(shù)A轉(zhuǎn)成整數(shù)B是說A需要改變幾個(gè)二進(jìn)制位才能轉(zhuǎn)換為B,也就是A中有幾個(gè)不同于

    2024年02月15日
    瀏覽(13)
  • Android Java代碼與JNI交互 引用類型轉(zhuǎn)換(五)

    Android Java代碼與JNI交互 引用類型轉(zhuǎn)換(五)

    ?? Android Studio 版本 ??? ??? Java中基礎(chǔ)數(shù)據(jù)類型對(duì)應(yīng)Native的數(shù)據(jù)類型 ?? ?? Java中引用數(shù)據(jù)類型 對(duì)應(yīng)Native中的數(shù)據(jù)類型 ??? ??? 創(chuàng)建? JNIReferenceType ?? ?? 生成可關(guān)聯(lián)的庫鏈接 ?? 為了讓Java能夠調(diào)用reference-type-lib庫中的函數(shù),您需要使用 CMake 構(gòu)建腳本中的?target_link_l

    2024年02月13日
    瀏覽(27)
  • Android Java代碼與JNI交互字符串轉(zhuǎn)換(四)

    Android Java代碼與JNI交互字符串轉(zhuǎn)換(四)

    ?? Android Studio 版本 ??? ?? 創(chuàng)建JNIString.java ?? ??? Native層實(shí)現(xiàn) JNI的callNativeString函數(shù) ?? ?? 配置動(dòng)態(tài)庫名稱 ??? 編輯CMakeLists.txt 根據(jù)j ni/jni_string.cpp 配置動(dòng)態(tài)庫名稱 ??? 生成可關(guān)聯(lián)的庫鏈接 ?? 為了讓Java能夠調(diào)用?string-lib庫中的函數(shù),您需要使用 CMake 構(gòu)建腳本中的?

    2024年02月13日
    瀏覽(24)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包