我只是記錄下自己踩過的坑,網上好多資料已經說的很明白了
方法實現
//跳轉到設置-允許安裝未知來源-頁面
@RequiresApi(api = Build.VERSION_CODES.O)
private void startInstallPermissionSettingActivity() {
//注意這個是8.0新API
Uri packageURI = Uri.parse("package:" +getPackageName());
Intent intent = new Intent(ACTION_MANAGE_UNKNOWN_APP_SOURCES, packageURI);
startActivityForResult(intent, 333);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
//版本更新要用
if (resultCode == RESULT_OK && requestCode == 333) {
//版本安裝操作
}
}
//使用
if (Build.VERSION.SDK_INT >= 26) {
boolean hasInstallPermission =getPackageManager().canRequestPackageInstalls();
if (!hasInstallPermission) {
startInstallPermissionSettingActivity();
return;
}
}
坑
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
跳轉到允許安裝未知來源的界面的時候,不要加這句話,因爲會回調不到的!