Android自定义权限

一.概述

首先说一下为什么需要使用权限,主要就是防止其他程序随便调用。

一般我们调用系统的功能都会添加对应的权限,比如打电话,我们会添加如下的权限:

<uses-permission android:name="android.permission.CALL_PHONE"/> 

今天我们来看看怎么自定义权限。

二.实现

首先我们需要两个工程,在这两个工程里面分别新建一个Activity,在A工程里面启动B工程里面的Activity。

1.添加自定义权限

 <permission android:name="com.lxn.startSecond"
        android:protectionLevel="normal"
        />

这两个参数是必须的,含意见下表:

这里写图片描述

然后在activity中使用我们自定义的权限:

 <activity
            android:name=".SecondActivity"
            android:permission="com.lxn.startSecond"
            android:label="@string/title_activity_second"
            android:theme="@style/AppTheme.NoActionBar">
            <intent-filter>
                <action android:name="com.lxn.start"/>
                <category android:name="android.intent.category.DEFAULT" />
                </intent-filter>
        </activity>

这里要注意亮点:

  • 添加权限使用android:permission
  • 因为我们要从外部启动这个Activity,所以action和category必须指定
    2.如何启动
    接下来我们回到A工程中,去启动B工程中定义好权限的Activity.
  public void start(View view){
        //隐式启动
        Intent intent = new Intent("com.lxn.start");
        //显式启动
       // intent.setClassName("com.example.dialogdemo","com.example.dialogdemo.SecondActivity");
        intent.addCategory(Intent.CATEGORY_DEFAULT);
        startActivity(intent);
    }

这个时候要想启动B工程中的Activity,我们就必须要添加权限了,不然就无法启动

 <uses-permission android:name="com.lxn.startSecond" />
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值