根据用户的Android版本区分请求的Android权限

时间:2019-03-26 15:34:35

标签: android permissions

我创建了一个显示SSID名称的应用程序。 现在使用最新的android版本,用户需要为我的应用设置额外的权限(<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />),以便能够获取SSID名称。

现在就可以了,但是1.这些权限很难获得(我知道我不能只是要求它们,而是用户必须明确地转到应用程序设置并接受位置权限),以及更多重要的是2.如果用户仍在旧版本的Android上并且不需要这些额外的权限,我就不想询问这些权利。

我有这些设置

minSdkVersion 11
targetSdkVersion 26

非常老的Android版本也可以安装我的应用程序,现在他们还必须授予他们尚未拥有的Android版本的权限?

我希望只有使用最新版Android的用户才需要授予这些权限,而使用旧版Android的用户则不必这样做。

是否可以在清单中进行区分?

我看过对Is it available to set checkSelfPermission on minimum SDK < 23?的引用,但是这个问题没有涉及清单xml,这就是我的问题所在

1 个答案:

答案 0 :(得分:1)

用户无需明确了解应用程序设置,只需使用

检查Android版本
android.os.Build.VERSION.SDK_INT >= N

如果属实,则应使用

征得许可。
Activity.requestPermissions(String[] permissions, int requestCode)

然后使用Activity.onPermissionsResult监听结果。