android 9.0 系统级别app代码实现允许安装未知来源权限
时间: 2023-09-06 09:00:43 浏览: 240
在 Android 9.0 系统中,为了提高设备的安全性,禁止了默认情况下安装未知来源应用程序的权限。然而,我们可以通过编写代码来实现动态请求并获取该权限。
首先,在 AndroidManifest.xml 文件中添加以下权限:
```xml
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES"/>
```
然后,在你的应用程序中创建一个方法来请求安装未知来源应用程序的权限:
```java
private void requestInstallUnknownAppsPermission() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
// 判断当前 Android 版本是否高于等于 Android 8.0
if (!getPackageManager().canRequestPackageInstalls()) {
// 如果没有权限,跳转到权限设置页面
Intent intent = new Intent(Settings.ACTION_MANAGE_UNKNOWN_APP_SOURCES);
intent.setData(Uri.parse("package:" + getPackageName()));
startActivityForResult(intent, 1);
}
}
}
```
在该方法中,我们首先检查设备上的 Android 版本是否高于等于 Android 8.0,然后判断是否已经获得了安装未知来源应用程序的权限。如果没有权限,我们将启动一个意图(Intent)并跳转到权限设置页面,允许用户手动开启该权限。
最后,在你的代码中的适当位置调用该方法:
```java
requestInstallUnknownAppsPermission();
```
这样一来,每当用户安装你的应用程序时,都会自动检查并请求安装未知来源应用程序的权限,如果没有权限则会跳转到权限设置页面,让用户手动开启。
注意:为了使这些代码生效,你需要确保你的应用程序具有 WRITE_EXTERNAL_STORAGE 权限,这样才能正常安装来自未知来源的应用程序。
阅读全文