新视频开发安卓开发

安卓如何针对不同的安卓版本声明不同的权限

2021-08-04  本文已影响0人  蓝不蓝编程

背景

安卓10开始,普通App就获取不到IMEI了,即使声明了READ_PHONE_STATE权限,也获取不到。
但是我们做的是手机厂商内置的系统应用,还可以获取到IMEI。为了避免自己获取,或者内部集成的第三方sdk获取IMEI,就需要去掉READ_PHONE_STATE的权限声明。但关键是,安卓10以下,又要保留。 这怎么办? 总不能搞两个app吧?

解决方案

声明权限的时候,增加maxSdkVersion设置,28就表示安卓9,意味着安卓9及以下会声明该权限。

<uses-permission android:name="android.permission.READ_PHONE_STATE" android:maxSdkVersion="28"/>

PS: 上面问题中,可能有些人会疑惑,声明一下,只要不使用,不弹出系统申请权限窗口,不就没问题了么?
说的是没错,只是,第三方我们管控不住,万一他自己主动去申请权限了,那就违规了。

上一篇下一篇

猜你喜欢

热点阅读