项目中有一个需求,从接口获取用户的权限信息。所有的权限信息是这样的:

"authorities": [

"1003",

"1002",

"1001"

]

每个数字代表一个权限,有权限就返回相应的数字,没有权限就不返回。

如果是一个权限还好处理,在多个权限的时候就有点难了,后来搜到这篇文章

可以用json把数组转成字符串,再储存起来。

储存:

List authorities = pms.authorities;//获得返回的json数组

JSONArray jsonArray = new JSONArray();

jsonArray.addAll(authorities);

SharedPreferences.Editor editor = prefs.edit();

editor.putString(“authorities”,jsonArray.toString());

editor.commit();

读取:

public static boolean hasAuthority(String authority) {

SharedPreferences sp = getSharedPreferences(“authorities”, Context.MODE_PRIVATE).

JSONArray jsonArray = JSON.parseArray(prefs.getString("authorities", "[]"));

return jsonArray.contains(authority);

}

使用时只需要执行hasAuthority方法,传入“1001” 就可以判断是否有1001的权限。

if (hasAuthority("1001")) {

执行有权限的操作

}

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐