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中查看消息,會發現,我們成功輸出了下面的這句話