我已经在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个权限(位置,相机,联系人,读取短信,获取帐户)。但在从游戏商店更新旧apk到新apk后。它不是在android 6.0中请求权限。请给我一些建议来克服这个问题。
答案 0 :(得分:2)
您有逻辑错误。使用||
代替&&
。
仅在拒绝所有权限时才请求权限。如果至少拒绝其中一个,则不会请求权限。
要在不允许任何给定权限的情况下请求权限,请使用||
。
看起来您在处理运行时权限时遇到了问题。您可以使用我的库轻松处理运行时权限。 https://github.com/nabinbhandari/Android-Permissions