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