您好,登錄后才能下訂單哦!
這篇文章主要介紹Android 8.0如何解決不能自動(dòng)安裝APK的問題,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!
Android8.0之前
未知應(yīng)用安裝權(quán)限默認(rèn)開啟,如下圖所示
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è)資訊頻道!
免責(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)容。