温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Android 8.0安装apk的实例代码

发布时间:2020-10-25 10:01:32 来源:脚本之家 阅读:153 作者:瘟疫幽魂 栏目:移动开发

android 8.0安装apk需要请求未知来源权限

//xml配置
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES"/>
/**
 * 检测版本8.0
 */
public void checkOreo() {
  if (SdkVersionUtils.hasOreo()) {//8.0
    //判断是否可以直接安装
    boolean canInstall = getPackageManager().canRequestPackageInstalls();
    if (canInstall) {
      //rxpermissions请求权限
      mRxPermissions
          .request(Manifest.permission.REQUEST_INSTALL_PACKAGES)
          .subscribe(granted -> {
            if (granted) {
              //安装apk
              installApk();
            } else if (shouldShowRequestPermissionRationale(Manifest.permission.REQUEST_INSTALL_PACKAGES)) {
               //引导用户去打开权限
              Intent intent = new Intent(Settings.ACTION_MANAGE_UNKNOWN_APP_SOURCES);
              startActivityForResult(intent, GET_UNKNOWN_APP_SOURCES);
            } else {
              Intent intent = new Intent(Settings.ACTION_MANAGE_UNKNOWN_APP_SOURCES);
              startActivityForResult(intent, GET_UNKNOWN_APP_SOURCES);
            }
          });
    } else {
      //安装apk
      installApk();
    }
  } else {
    //安装apk
    installApk()
  }
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
  super.onActivityResult(requestCode, resultCode, data);
  switch (requestCode) {
    case GET_UNKNOWN_APP_SOURCES:
      checkOreo();
      break;
  }
}

总结

以上所述是小编给大家介绍的Android 8.0安装apk的实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对亿速云网站的支持!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI