Android 動態獲取權限

在Android6.0設備上 ,遇到一些須要權限的操做,須要在程序中動態的去檢查響應的權限是否被許可。ide

不然可能出現程序意外中止等問題。this

 

int checkCallPhonePermission = ContextCompat.checkSelfPermission(mContext,Manifest.permission.CALL_PHONE);code

            if(checkCallPhonePermission != PackageManager.PERMISSION_GRANTED){it

     ActivityCompat.requestPermissions(mContext,new String[]{Manifest.permission.CALL_PHONE},REQUEST_CODE_ASK_CALL_PHONE);return;io

            }else{ast

                //上面已經寫好的撥號方法mobile

                callDirectly(mobile);權限

            }request

 

 

經過覆蓋方法實現回調監聽程序

@Override

public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {

        switch (requestCode) {

        case REQUEST_CODE_ASK_CALL_PHONE:

        if (grantResults[0] == PackageManager.PERMISSION_GRANTED) {

        // Permission Granted

        callDirectly(mobile);

        else {// Permission Denied

        Toast.makeText(MainActivity.this"CALL_PHONE Denied", Toast.LENGTH_SHORT)

                            .show();

                }

                break;

            default:

                super.onRequestPermissionsResult(requestCode, permissions, grantResults);

        }

    }

相關文章
相關標籤/搜索