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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM