根据操作设置按钮可见性

时间:2018-10-13 14:31:19

标签: android permissions

我在主要活动中创建了一个按钮来授予权限。如果用户仍然具有权限,我想将按钮的可见性设置为不可见,否则,我希望按钮再次出现。 有什么建议吗?

2 个答案:

答案 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报告答案