我在主要活动中创建了一个按钮来授予权限。如果用户仍然具有权限,我想将按钮的可见性设置为不可见,否则,我希望按钮再次出现。 有什么建议吗?
答案 0 :(得分:0)
if (ContextCompat.checkSelfPermission(thisActivity, Manifest.permission.WRITE_CALENDAR)
!= PackageManager.PERMISSION_GRANTED) {
Button.setVisibility(View.Visible);
} else {
Button.setVisibility(View.GONE);
}
OR
if (ContextCompat.checkSelfPermission(thisActivity, Manifest.permission.WRITE_CALENDAR)
!= PackageManager.PERMISSION_GRANTED) {
Button.setVisibility(View.Visible);
} else (ContextCompat.checkSelfPermission(thisActivity, Manifest.permission.WRITE_CALENDAR)
!= PackageManager.PERMISSION_DENIED){
Button.setVisibility(View.GONE);
}
尝试一下
答案 1 :(得分:0)
请使用Bitflags和EnumSets来保留您的权限。
位标记(通常称为位字段)是一种在单个基本类型中存储多个相关布尔值的有效方法。
从那里您只需检查该用户的权限位标记是否设置为“ true”,然后根据该值设置可见性
yourButton.setVisiblility(PermissionsEnum.canSeeButton? VISIBLE : GONE);
这是针对用户/设置的特定权限,例如“客户端可以查看价格”或“用户具有管理员权限”
有关Android运行时权限(例如Send_SMS,位置,内部文件存储),请参阅@TPInc报告答案