【发布时间】: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 代码永远不会导致添加权限。您引用的第一个 StackOverflow 问题的答案似乎很好地涵盖了可能的原因。
-
-
人们不能只更新他们的 Android 版本。与其告诉用户更新,不如让该功能不可用。
标签: android permissions