溫馨提示×

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

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Android 8.0如何解決不能自動(dòng)安裝APK的問題

發(fā)布時(shí)間:2021-07-12 14:12:13 來源:億速云 閱讀:105 作者:小新 欄目:移動(dòng)開發(fā)

這篇文章主要介紹Android 8.0如何解決不能自動(dòng)安裝APK的問題,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

Android8.0之前

未知應(yīng)用安裝權(quán)限默認(rèn)開啟,如下圖所示

Android 8.0如何解決不能自動(dòng)安裝APK的問題
8.0以下手機(jī)未知應(yīng)用安裝權(quán)限.png

Android8.0之后

未知應(yīng)用安裝權(quán)限默認(rèn)關(guān)閉,且權(quán)限入口隱藏。

如何開啟未知應(yīng)用安裝權(quán)限的入口,并設(shè)置允許安裝?

在清單文件中添加權(quán)限

<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES"/>

判斷當(dāng)前是否為8.0以上系統(tǒng)(在這之前也可以對(duì)7.0系統(tǒng)進(jìn)行判斷,這里代碼沒有貼出)

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
  boolean hasInstallPermission = isHasInstallPermissionWithO(context);
  if (!hasInstallPermission) {
   startInstallPermissionSettingActivity(context);
     return;
  }
}

如果為8.0以上系統(tǒng),則判斷是否有 未知應(yīng)用安裝權(quán)限

@RequiresApi (api = Build.VERSION_CODES.O)
private boolean isHasInstallPermissionWithO(Context context){
 if (context == null){
  return false;
 }
 return context.getPackageManager().canRequestPackageInstalls();
}

如果沒有 未知應(yīng)用安裝權(quán)限 ,則需要手動(dòng)開啟

/**
 * 開啟設(shè)置安裝未知來源應(yīng)用權(quán)限界面
 * @param context
 */
@RequiresApi (api = Build.VERSION_CODES.O)
private void startInstallPermissionSettingActivity(Context context) {
 if (context == null){
  return;
 }
 Intent intent = new Intent(Settings.ACTION_MANAGE_UNKNOWN_APP_SOURCES);
 ((Activity)context).startActivityForResult(intent,REQUEST_CODE_APP_INSTALL);
}

Activity回調(diào)(這一步根據(jù)需求來確定)

override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
  super.onActivityResult(requestCode, resultCode, data)
  if (resultCode== Activity.RESULT_OK ){
   when(requestCode){
    REQUEST_CODE_APP_INSTALL -> {
     onSettingCheckUpdate()
    }
   }
  }
 }

以上是“Android 8.0如何解決不能自動(dòng)安裝APK的問題”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI