我只是记录下自己踩过的坑,网上好多资料已经说的很明白了
方法实现
//跳转到设置-允许安装未知来源-页面
@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);
跳转到允许安装未知来源的界面的时候,不要加这句话,因为会回调不到的!
网友评论