91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何在android7.0中獲取文件的Uri

發布時間:2021-02-19 15:44:47 來源:億速云 閱讀:131 作者:Leah 欄目:移動開發

本篇文章為大家展示了如何在android7.0中獲取文件的Uri,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

//res目錄下創建xml,設置要分享的目錄,名稱定義file_paths
<?xml version="1.0" encoding="utf-8"?>
<paths xmlns:android="http://schemas.android.com/apk/res/android">
<external-path name="myFile" path ="" />
</paths>

// 注冊provider
<provider
android:name="android.support.v4.content.FileProvider"
android:authorities="com.lzp.fileprovider"
android:exported="false"
// 賦予Uri權限
android:grantUriPermissions="true">

<meta-data
  android:name="android.support.FILE_PROVIDER_PATHS"
  // 設置要分享的路徑
  android:resource="@xml/file_paths"/>
</provider>

設置分享的路徑有三種:

  • <files-path/>代表的根目錄: Context.getFilesDir()

  • <external-path/>代表的根目錄:Environment.getExternalStorageDirectory()

  • <cache-path/>代表的根目錄: getCacheDir()

provider注冊完了之后,就需要稍微修改一下我們的java代碼:

Intent i = new Intent(Intent.ACTION_VIEW);
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
// 判斷是否是7.0
if(Build.VERSION.SDK_INT >= 24){
  // 適配android7.0 ,不能直接訪問原路徑
  // 需要對intent 授權
  i.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
  i.setDataAndType(FileProvider.getUriForFile(context, context.getPackageName() + ".fileProvider",new File(filePath)),"application/vnd.android.package-archive");
}
else{
  i.setDataAndType(Uri.fromFile(new File(filePath)), "application/vnd.android.package-archive");
}
context.startActivity(i);

在java代碼中,我們先判斷了當前的手機的系統版本,如果是7.0以下就使用之前的Uri,如果是7.0以上,開始通過Provider來獲取加密后的Uri。

最終得到的Uri的格式:

content://com.lzp.fileprovider/myFile/xxxxx.apk

看來主要是把分享出去的路徑進行了加密,不能直接看到文件的完整路徑。

上述內容就是如何在android7.0中獲取文件的Uri,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

招远市| 忻州市| 长白| 苏州市| 涟水县| 保德县| 德惠市| 玉龙| 拉萨市| 竹山县| 德格县| 驻马店市| 永清县| 海安县| 普宁市| 成安县| 铜鼓县| 沐川县| 陇西县| 五台县| 盘山县| 乳山市| 潮安县| 鹤峰县| 郴州市| 莱阳市| 龙江县| 马公市| 安顺市| 修水县| 清流县| 容城县| 雷波县| 仙游县| 清水县| 团风县| 杂多县| 兴国县| 金堂县| 文水县| 武平县|