gpt4 book ai didi

java - 如何在不询问运行时权限的情况下在 Android 6.0 中写入 SD 卡?

转载 作者:搜寻专家 更新时间:2023-11-01 08:31:51 24 4
gpt4 key购买 nike

我想问一下 - Android 6.0 中的应用程序可以在不询问运行时权限的情况下将数据写入外部 SD 卡吗?我知道正确的方法是检查用户是否为我的应用程序授予了此类权限。我做了一些小调查,发现 GooglePlay 中的大多数 FileMangers 都在询问这些权限。但是 ES FileExplorer ( https://play.google.com/store/apps/details?id=com.estrongs.android.pop ) - 不要求这样的权限并且可以对 sd 卡执行任何操作!有谁知道他们是如何做到这一点的?感谢帮助!

这是我的gradle代码

android {
buildToolsVersion '23.0.2'
compileSdkVersion 22
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
aidl.srcDirs = ['src']
renderscript.srcDirs = ['src']
res.srcDirs = ['res']
assets.srcDirs = ['assets']
jniLibs.srcDirs = ['libs']
}

instrumentTest.setRoot('tests')

dexOptions {
javaMaxHeapSize "4g"
}

lintOptions {
checkReleaseBuilds false
abortOnError false
}
}

packagingOptions {
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/license.txt'
exclude 'META-INF/notice.txt'
exclude 'META-INF/NOTICE.txt'
}


defaultConfig {
// Enabling multidex support.
multiDexEnabled true
}




buildTypes {
release {
signingConfig signingConfigs.release
}
}

最佳答案

当你在项目的 Gradle 文件中设置不大于 22 的 compileSdkVersion 时,你可以实现这一点。
重要!当您将您的应用程序版本部署到针对大于 22 的版本编译的 Google Play 商店时,您永远无法切换回低于 23 的版本。如果使用此版本和 SDK,您甚至无法切换回上一个稳定版本版本低于 23。届时您将在 Google Play 商店中获得异常(exception)。它不会允许的。
(我前几天也遇到过,不小心设置了一个大于22的版本,部署到Google Play,突然崩溃很多,因为Android 6.0+没有used权限,我也没有要求因为它没有在代码中实现。但我也无法在 Google Play 中切换回以前的工作版本。所以我不得不快速实现新的权限模型,但甚至无法测试它,因为我没有Android 6.0 设备和模拟器完全是垃圾和缓慢。现在我有 3 个应用程序在商店中,我不知道它们在 Android 6.0+ 上的行为如何。我不再崩溃所以我想我的实现是正确的)

关于java - 如何在不询问运行时权限的情况下在 Android 6.0 中写入 SD 卡?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39849440/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com