您好,登錄后才能下訂單哦!
這篇文章主要介紹Android 8.0如何解決不能自動安裝APK的問題,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
Android8.0之前
未知應用安裝權限默認開啟,如下圖所示
8.0以下手機未知應用安裝權限.png
Android8.0之后
未知應用安裝權限默認關閉,且權限入口隱藏。
如何開啟未知應用安裝權限的入口,并設置允許安裝?
在清單文件中添加權限
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES"/>
判斷當前是否為8.0以上系統(在這之前也可以對7.0系統進行判斷,這里代碼沒有貼出)
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { boolean hasInstallPermission = isHasInstallPermissionWithO(context); if (!hasInstallPermission) { startInstallPermissionSettingActivity(context); return; } }
如果為8.0以上系統,則判斷是否有 未知應用安裝權限
@RequiresApi (api = Build.VERSION_CODES.O) private boolean isHasInstallPermissionWithO(Context context){ if (context == null){ return false; } return context.getPackageManager().canRequestPackageInstalls(); }
如果沒有 未知應用安裝權限 ,則需要手動開啟
/** * 開啟設置安裝未知來源應用權限界面 * @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回調(這一步根據需求來確定)
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如何解決不能自動安裝APK的問題”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。