大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这篇文章主要介绍Android 8.0如何解决不能自动安装APK的问题,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
创新互联建站是一家专业提供张家川回族自治企业网站建设,专注与网站设计、成都网站设计、H5场景定制、小程序制作等业务。10年已为张家川回族自治众多企业、政府机构等服务。创新互联专业网络公司优惠进行中。
Android8.0之前
未知应用安装权限默认开启,如下图所示
8.0以下手机未知应用安装权限.png
Android8.0之后
未知应用安装权限默认关闭,且权限入口隐藏。
如何开启未知应用安装权限的入口,并设置允许安装?
在清单文件中添加权限
判断当前是否为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的问题”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注创新互联行业资讯频道!