Android-检查低于26的API级别的安装软件包权限

时间:2019-01-28 06:40:56

标签: android

所以我想检查低于26以下的Android API级别的应用程序的android安装许可(是否授予天气)。这是我的代码,它在Android API 26中正常工作。

if(getPackageManager().canRequestPackageInstalls()){ //doing someting}

来自此文档,网址为https://developer.android.com/reference/android/content/pm/PackageManager.html#canRequestPackageInstalls()

enter image description here

我发现从API 26添加了“ canRequestPackageInstalls”,对于API 26以下的软件包,是否有替代方法?

1 个答案:

答案 0 :(得分:0)

在API 26以下,默认情况下授予权限。 试试这个:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
    if (!getPackageManager().canRequestPackageInstalls()) {
        startActivityForResult(newIntent(Settings.ACTION_MANAGE_UNKNOWN_APP_SOURCES).setData(Uri.parse(String.format("package:%s", getPackageName()))), 1);
    } else {
        //do something
    }
} else {
    //do something
}
相关问题