扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
本篇文章给大家分享的是有关Android 8.0中不跳转应用安装页面如何解决,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
站在用户的角度思考问题,与客户深入沟通,找到汉寿网站设计与汉寿网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都网站设计、成都网站建设、外贸网站建设、企业官网、英文网站、手机端网站、网站推广、空间域名、虚拟空间、企业邮箱。业务覆盖汉寿地区。
1.在AndroidManifest.xml文件中,添加REQUEST_INSTALL_PACKAGES权限
2.在打开安装包的代码中添加**兼容Android 8.0**的代码。
/** * 打开安装包 * * @param mContext * @param fileUri */ public void openAPKFile(Activity mContext, String fileUri) { DataEmbeddingUtil.dataEmbeddingAPPUpdate(fileUri); // 核心是下面几句代码 if (null != fileUri) { try { Intent intent = new Intent(Intent.ACTION_VIEW); File apkFile = new File(fileUri); //兼容7.0 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { intent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); Uri contentUri = FileProvider.getUriForFile(mContext, mContext.getPackageName() + ".fileProvider", apkFile); intent.setDataAndType(contentUri, "application/vnd.android.package-archive"); //兼容8.0 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { boolean hasInstallPermission = mContext.getPackageManager().canRequestPackageInstalls(); if (!hasInstallPermission) { ToastUtil.makeText(MyApplication.getContext(), MyApplication.getContext().getString(R.string.string_install_unknow_apk_note), false); startInstallPermissionSettingActivity(); return; } } } else { intent.setDataAndType(Uri.fromFile(apkFile), "application/vnd.android.package-archive"); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); } if (mContext.getPackageManager().queryIntentActivities(intent, 0).size() > 0) { mContext.startActivity(intent); } } catch (Throwable e) { e.printStackTrace(); DataEmbeddingUtil.dataEmbeddingAPPUpdate(e.toString()); CommonUtils.makeEventToast(MyApplication.getContext(), MyApplication.getContext().getString(R.string.download_hint), false); } } } /** * 跳转到设置-允许安装未知来源-页面 */ @RequiresApi(api = Build.VERSION_CODES.O) private void startInstallPermissionSettingActivity() { //注意这个是8.0新API Intent intent = new Intent(Settings.ACTION_MANAGE_UNKNOWN_APP_SOURCES); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); mContext.startActivity(intent); }
以上就是Android 8.0中不跳转应用安装页面如何解决,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注创新互联行业资讯频道。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流