时间:2021-05-02
天哪,这篇文章终于说道如何自定义权限了,左盼右盼,其实这个自定义权限相当easy。为了方便叙述,我这边会用到两个app作为例子示范。
permission app: used to define a new permission
这个作为定义权限的app,我称之为permission app.
client app: used to access the specified activity of permission app
这个作为访问上述自定义权限的app,我称之为client app
先看如何写permission app
第一步
permission app很简单,它的任务就是定一个permission,使用< permission>标签即可,我们假设内容如下:
复制代码 代码如下:
第二步
然后在定一个activity,这个activity很简单就是展示下一行字,如”hello from custiom permission activity!”这里就不详述。
第三步
最重要的地方:我们需要为这个activity指明访问权限,权限即为我们刚申请的权限,这个需要同样需要在androidmanifest.xml文件中标识,如下:
复制代码 代码如下:
这个activity于是就被打上了必须使用” custom.permission.startactivity”权限才能访问的印记。
接着写client app
至于如何写client app,那就so so so … easy了,只需两步:
第一步
在androidmanifest.xml文件中首先申请权限,如下:
复制代码 代码如下:
第二步
访问permission app表明需要该权限的activity,代码如下:
复制代码 代码如下:大功告成
我们可以测试下效果,首先安装permission app,然后接着安装client app,结果如下:
点击之后
另外我曾经在android permission权限机制引子提到过protection level问题,这边我同样测试下这个protection level,下面结果中y表示可以正常访问,n则表示不可以访问。
需要注意的是,使用自定义permission的activity如果设置了:
复制代码 代码如下:那就不能从launcher中启动该app,因为只有你的launcher必须使用了uses-permission去请求获取custom.permission.startactivity权限,事实上你的launcher是不具备已经请求自定义权限的。
launcher会报:application is not installed on your phone. 的错误.
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
前言:前面几篇讲了自定义控件绘制原理Android自定义控件基本原理详解(一),Android自定义控件之自定义属性(二),Android自定义控件之自定义组合
下面将以权限的控制为例自定义一个标签:一、标签类型复制代码代码如下:步骤:1.自定义一个类PerssionTag继承SimpleTagSupport(自定义标签
前言:前两篇介绍了自定义控件的基础原理Android自定义控件基本原理详解(一)、Android自定义控件之自定义属性(二)。今天重点介绍一下如何通过自定义组合
本文讲述springboot整合springsecurity在方法上使用注解实现权限控制,使用自定义userdetailservice,从mysql中加载用户信
1、如何声明自定义权限在Manifest文件中使用Permission标签定义自己的权限:...解释下各个属性:name,该标签就是权限的名字。descript