Android 兼容8.0 系统 安装apk 未知包
2018-03-21 17:40
579 查看
随着系统升级,兼容不同的系统必备
自动更新后安装
注册权限
<!-- 请求安装权限 8.0 --> <uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
7.0 私有权限问题
http://blog.csdn.net/u013243573/article/details/544260638.0 允许安装未知应用
boolean isGranted(String permission) { // 8.0 权限 安装apk 权限 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { return getActivity().getPackageManager().canRequestPackageInstalls(); } return true; } //权限不存在,申请权限,并跳到当前包 if(!isGranted()){ Uri packageURI = Uri.parse("package:" + getContext().getPackageName()); Intent intent = new Intent(Settings.ACTION_MANAGE_UNKNOWN_APP_SOURCES, packageURI); startActivityForResult(intent, 100001); } @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (requestCode == 100001) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { // 同意以后 进行安装 } } } /** * 安装apk */ public static void installApk(Activity activity, File apkFile){ Intent intent = new Intent(Intent.ACTION_VIEW); if (Build.VERSION.SDK_INT < Build.VERSION_CODES.N) { intent.setDataAndType(Uri.fromFile(apkFile), "application/vnd.android.package-archive"); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); } else { // 声明需要的临时权限 intent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); // 第二个参数,即第一步中配置的authorities String packageName = activity.getApplication().getPackageName(); Uri contentUri = FileProvider.getUriForFile(activity, packageName + ".fileProvider", apkFile); intent.setDataAndType(contentUri, "application/vnd.android.package-archive"); } activity.startActivity(intent); }
相关文章推荐
- Android O 8.0系统下通知(Notification)、安装apk问题更新后的简单兼容写法
- 兼容Android系统7.0,升级安装apk
- Android获取系统已安装应用软件程序(apk)信息
- Android获取系统已安装应用软件程序(apk)信息
- dos 安装android apk 以及导出系统文件(手机需root)到本地磁盘
- 用adb命令安装APK文件到android系统
- Android 源码编译的系统apk如何安装到手机
- Android 获取系统中所有安装的APK的信息
- Android常用代码之普通及系统权限静默安装APK
- android 开发之 使用Android系统隐藏api 读取*.apk 程序安装包信息
- android 4.0.4系统下实现apk的静默安装和启动
- Android常用代码之普通及系统权限静默安装APK
- xp下安装ubuntu双系统|用emulator安装android软件包apk。
- ***android 4.0.4系统下实现apk的静默安装和启动
- Android调用系统功能、apk安装卸载
- paip.android APK安装方法大总结系统应用的安装
- Android 使用系统限制的权限的apk应安装到 /system/app 目录下
- android 4.0.4系统下实现apk的静默安装和启动
- Android系统移植与调试之------->安装apk时出现错误Failure [INSTALL_FAILED_DEXOPT]问题解决的方法
- 用adb命令安装APK文件到android系统