Android 8.0不能自动安装APK问题的解决方法(完美适配)

所属分类: 软件编程 / Android 阅读数: 47
收藏 0 赞 0 分享

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 studio点击跳转WebView详解

这篇文章主要为大家详细介绍了Android studio点击跳转WebView的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

Android自定义Drawable实现圆形和圆角

这篇文章主要为大家详细介绍了Android自定义Drawable实现圆形和圆角,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

Android自定义水平渐变进度条

这篇文章主要为大家详细介绍了Android自定义水平渐变进度条,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

ToolBar中menu无法同时显示图标和文字问题的解决方法

这篇文章主要为大家详细介绍了ToolBar中menu无法同时显示图标和文字问题的解决方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

详解React Native监听Android回退按键与程序化退出应用

这篇文章主要介绍了详解React Native监听Android回退按键与程序化退出应用的相关资料,希望通过本文能帮助到大家,需要的朋友可以参考下
收藏 0 赞 0 分享

android实现上传本地图片到网络功能

这篇文章主要为大家详细介绍了android实现上传本地图片到网络功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

Android实现QQ登录功能

这篇文章主要为大家详细介绍了Android实现QQ登录功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

Android实现简单的城市列表功能

这篇文章主要为大家详细介绍了Android实现简单的城市列表功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

Android Animation之TranslateAnimation(平移动画)

这篇文章主要为大家详细介绍了Animation之TranslateAnimation平移动画,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

Android 中Failed to read key from keystore解决办法

这篇文章主要介绍了Android 中Failed to read key from keystore解决办法的相关资料,希望通过本能帮助到大家,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多