使用 Build.VERSION.SDK_INT 会自动添加 READ_PHONE_STATE 权限吗?
Posted
技术标签:
【中文标题】使用 Build.VERSION.SDK_INT 会自动添加 READ_PHONE_STATE 权限吗?【英文标题】:Does using Build.VERSION.SDK_INT automatically add the READ_PHONE_STATE permission? 【发布时间】:2015-09-27 19:55:26 【问题描述】:在我的应用程序中,我检查了Build.VERSION.SDK_INT,以便有条件地警告用户他们需要更新 android 才能使用特定功能。它看起来像这样:
if (Build.VERSION.SDK_INT >= 15)
// Good to go
else
// Needs an Android update
在我发布的最新更新中,添加了READ_PHONE_STATE
权限,尽管它在AndroidManifest.xml
中未声明如下:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.me.myapp"
android:versionCode="1"
android:versionName="1.0.0" >
<uses-sdk
android:minSdkVersion="10"
android:targetSdkVersion="14" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="com.android.vending.BILLING" />
...
我发现了几个相关的问题(1、2),稍后我会尝试测试我的依赖项是否会导致问题。
但是出于好奇(而且由于我现在无法访问我的代码),使用Build.VERSION.SDK_INT
会导致自动添加READ_PHONE_STATE
权限吗?
或者更好的是,什么可能导致自动添加此权限?
【问题讨论】:
向您的应用添加一段 java 代码永远不会导致添加权限。您引用的第一个 *** 问题的答案似乎很好地涵盖了可能的原因。 人们不能只更新他们的 Android 版本。与其告诉用户更新,不如让该功能不可用。 【参考方案1】:使用 Build.VERSION.SDK_INT 会导致自动添加 READ_PHONE_STATE 权限吗?
没有。
或者更好的是,什么可能导致自动添加此权限?
A library, most likely.
【讨论】:
感谢您的回答。等我回到家开始调试依赖!以上是关于使用 Build.VERSION.SDK_INT 会自动添加 READ_PHONE_STATE 权限吗?的主要内容,如果未能解决你的问题,请参考以下文章
Android Studio调用系统的代码中Build.VERSION.SDK_INT >= Build.VERSION_CODES.xxx