int apiLevel = Build.VERSION.SDK_INT;
int contactsDisabled = getActivity().checkCallingPermission(Manifest.permission.READ_CONTACTS);
if (apiLevel >= 23 && contactsDisabled != PackageManager.PERMISSION_GRANTED) {
FragmentCompat.requestPermissions(SaleFragment.this, new String[]{Manifest.permission.READ_CONTACTS}, PERMISSION_REQUEST_CODE);
}
当我的请求权限在我的片段中的屏幕上弹出时,当我按下允许应用程序重新启动时。如果我按下拒绝,请求权限会一直弹回,只有按下允许才会消失。任何人都可以建议修复此问题吗?
答案 0 :(得分:-1)
您似乎正在使用AppCompat库但仍使用直接活动的权限检查调用。我没有遇到您遇到的具体行为,但这是我为我的应用实施运行时权限的方式,它使用ContextCompat.checkSelfPermission
int contactsDisabled = ContextCompat.checkSelfPermission(getActivity(), Manifest.permission.READ_CONTACTS);
if (apiLevel >= 23 && contactsDisabled != PackageManager.PERMISSION_GRANTED) {
FragmentCompat.requestPermissions(SaleFragment.this, new String[]{Manifest.permission.READ_CONTACTS}, PERMISSION_REQUEST_CODE);
}