java - Android 6.0 中的 Play 商店中不要求更新 apk 的权限

标签 java android google-play

我已经在 Play 商店中拥有应用程序。我最近在 Play 商店中添加了新的 apk。 之前我添加了位置、相机和联系人的 3 个权限(我以数组格式添加)。

 if (ContextCompat.checkSelfPermission(getApplicationContext(), android.Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED
            && ContextCompat.checkSelfPermission(getApplicationContext(), android.Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED
            && ContextCompat.checkSelfPermission(getApplicationContext(), android.Manifest.permission.MANAGE_DOCUMENTS) != PackageManager.PERMISSION_GRANTED
            && ContextCompat.checkSelfPermission(getApplicationContext(), android.Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED
            && ContextCompat.checkSelfPermission(getApplicationContext(), Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED
            && ContextCompat.checkSelfPermission(getApplicationContext(), Manifest.permission.READ_CALENDAR) != PackageManager.PERMISSION_GRANTED
            && ContextCompat.checkSelfPermission(getApplicationContext(), Manifest.permission.WRITE_CALENDAR) != PackageManager.PERMISSION_GRANTED
            && ContextCompat.checkSelfPermission(getApplicationContext(), android.Manifest.permission.CALL_PHONE) != PackageManager.PERMISSION_GRANTED) {

        ActivityCompat.requestPermissions(this,
                new String[]{android.Manifest.permission.ACCESS_FINE_LOCATION, android.Manifest.permission.ACCESS_COARSE_LOCATION
                        , android.Manifest.permission.MANAGE_DOCUMENTS, android.Manifest.permission.WRITE_EXTERNAL_STORAGE
                        , Manifest.permission.READ_EXTERNAL_STORAGE, android.Manifest.permission.CALL_PHONE
                        , Manifest.permission.READ_SMS, android.Manifest.permission.READ_SMS
                        , Manifest.permission.GET_ACCOUNTS, Manifest.permission.GET_ACCOUNTS},
                1000);
    }

现在最新的有 5 个权限(位置、相机、联系人、读取短信、获取帐户)。但是在从 Play 商店将旧 apk 更新为新 apk 后。在 android 6.0 中它没有请求许可。请给我一些建议来解决这个问题。

最佳答案

你有一个逻辑错误。使用 || 而不是 &&

仅当所有权限都被拒绝时,您才请求权限。如果其中至少一项被拒绝,则不会请求权限。

要在不允许任何给定权限的情况下请求权限,请使用 ||

您似乎在处理运行时权限时遇到了问题。您可以使用我的库轻松处理运行时权限。 https://github.com/nabinbhandari/Android-Permissions

关于java - Android 6.0 中的 Play 商店中不要求更新 apk 的权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46956400/

相关文章:

java - 手机无法编译shader

java - 在 Android SQLite 中将许多嵌套的 JSON 对象和数组存储为数据结构的好方法?

android - 为了将应用程序从一个 Google Play 开发者帐户转移到另一个帐户,我需要应用程序 key 吗?

android - App Bundle (AAB) 和不透明二进制 Blob (OBB) 文件

java - kotlin dagger改造现场注入(inject)

java - Libgdx:为什么我的按钮没有显示

java - 如何通过 UCanAccess 访问远程计算机上的数据库文件?

java - 电子邮件签名中的图像?

android - 补偿 Android 设备的差异? (视频游戏编程)

android - 为什么我在 Google Play 应用程序(仅限应用程序)中的所有屏幕截图都是像素化的