Android 6 0以上的APK安裝

2021-09-27 09:55:34 字數 1148 閱讀 1606

關於 android 7.0 之前的 apk安裝,需要注意設定 intent.flag_activity_new_task 就好

intent intent = new intent(intent.action_view);

uri apkuri = uri.fromfile(file);

intent.setflags(intent.flag_activity_new_task);

startactivity(intent);

android 7.x apk安裝

在 android 7.0 引入了「私有目錄被限制訪問」,「strictmode api 政策」。 android 7.0 行為變更

」 strictmode api 政策」 是指禁止向你的應用外公開 file:// uri。使用上述方法安裝apk時會出現 fileuriexposedexception 異常。這個時候就需要使用fileprovider來解決這個問題:

步驟一 (fileprovider的申請),在manifest.xml中定義乙個fileprovider,**如下:

// 設定允許獲取訪問檔案的臨時許可權

// 用於設定fileprovider的檔案訪問路徑

步驟二 (建立 .xml),在res目錄新建xml資料夾,如圖所示

步驟三 (配置fileprovider檔案共享的路徑),在 apk_provider_paths.xml檔案中配置:

<?xml version="1.0" encoding="utf-8"?>

最後的安裝方式

intent intent = new intent(intent.action_view);

intent.setflags(intent.flag_activity_new_task);

uri apkuri;

if (build.version.sdk_int >= build.version_codes.n) else

startactivity(intent);

Android6 0以上,動態許可權申請

6.0許可權的基本知識,以下是需要單獨申請的許可權,共分為9組,每組只要有乙個許可權申請成功了,就預設整組許可權都可以使用了。group android.permission group.contacts permission android.permission.write contacts pe...

android 6 0以上撥打電話

文章 6.0以下手機正常,6.0以上的卻崩潰 解決方法 targetsdkversion 23以下的 private void calldirectly string mobile 然後manifest 加上許可權就ok了 targetsdkversion 23的需要加以下 final public...

Android 6 0以上的許可權申請的問題

一直都有許可權申請的問題,沒有足夠的重視,最近總是受到困擾,算了不說了,看 吧!1 先判斷sdk的版本號 if build.version.sdk int 23 else 2 targetapi build.version codes.m private void checkandrequestpe...