Android添加代码检查权限

1,首先创建一个项目,然后创建一个类,hello.java

public class hello {


    public static final String PERMISSION_SAY_HELLO = "examples.ouc.com.checkpermissioncode.permission.SAY_HELLO";

    public static void sayhello(Context context){

        //检查代码是否拥有这个权限
        int checkResult = context.checkCallingOrSelfPermission(PERMISSION_SAY_HELLO);
       
        //if(!=允许),抛出异常
        if (checkResult!= PackageManager.PERMISSION_GRANTED){
            throw new SecurityException("执行sayhello方法需要权限");
        }
     //如果允许了,就输出下面这句话
        System.out.println("Hello 极客学院");
    }
}

2,在AndroidManifest中添加permission

 <permission android:name="examples.ouc.com.checkpermissioncode.permission.SAY_HELLO"/>

 

3,在MainActivity调用hello中的sayhello方法

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        hello.sayhello(this);

    }
}

4,我们这时候运行app是无法运行的,如下图

我们查看run中给出的原因

发现,我们并没有获得权限,为什么呢?我们虽然添加了一个权限,但是并没有给用户添加权限

5,因此我们需要给用户添加权限:

    在AndroidManifest中再添加上下面的第二行代码

 <permission android:name="examples.ouc.com.checkpermissioncode.permission.SAY_HELLO"/>

    <uses-permission android:name="examples.ouc.com.checkpermissioncode.permission.SAY_HELLO"/>

这时候我们再次运行app,会发现app成功打开,再去run中查看消息,会发现,我们成功输出了下面的这句话

转载于:https://www.cnblogs.com/icyhusky/p/6020672.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值