【发布时间】:2016-09-28 02:27:58
【问题描述】:
我有一个使用以下权限的应用:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
我正在为 Android 6.0 构建应用程序:
android {
compileSdkVersion 23
buildToolsVersion "23.0.1"
defaultConfig {
applicationId "de.my.package"
minSdkVersion 14
targetSdkVersion 23
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
当我现在启动应用程序并写入外部存储时,即使我没有设置权限,也不会要求我在 Nexus 5 上使用 Android 6.0 的权限:
App为什么以及如何在未经许可的情况下写入外部存储?
【问题讨论】:
-
应用程序不会写入外部存储(您必须检查应用程序是否已向 ext.storage 写入任何内容),并且在您请求之前它不会要求您授予权限自己来
-
是的,当然它不会询问是否不强迫它。但是该应用程序会由于缺少她没有执行的权限而引发异常。是的。该应用程序确实正在写入外部存储。我查过了。
-
也许你正在检查类中的 if 语句中的 `android.Manifest.permission.WRITE_EXTERNAL_STORAGE`
-
没有。直到现在我自己都没有检查任何许可。我只是使用权限并没有将其授予应用程序。现在应该不允许应用访问外部存储,但这正是应用正在做的事情。
-
您可以尝试完全卸载并重新安装该应用程序。权限授予应该被清除。可能发生的情况是您的应用以前被自动授予权限(例如,
targetSdkVersion低于 23),然后您将应用升级到需要运行时权限的应用。
标签: android android-permissions android-external-storage