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中查看消息,会发现,我们成功输出了下面的这句话