Android 6.0 動態申請 音頻+拍照+相簿 許可權

來源:互聯網
上載者:User

標籤:rri   pac   系統   rgb   活動   tor   external   back   util   

1.音訊許可權(包括錄音和播放)

1.1.首先要在清單中加上兩個許可權

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /><uses-permission android:name="android.permission.RECORD_AUDIO" />

 

1.2.然後在活動的onCreate或者其他必然執行的地方執行如下代碼 

    if (PackageManager.PERMISSION_GRANTED ==   ContextCompat.            checkSelfPermission(context, android.Manifest.permission.RECORD_AUDIO)) {    }else{        //提示使用者開戶許可權音頻        String[] perms = {"android.permission.RECORD_AUDIO"};        ActivityCompat.requestPermissions(ChatActivity.this,perms, RESULT_CODE_STARTAUDIO);    }
@Override public void onRequestPermissionsResult(int permsRequestCode, String[] permissions, int[] grantResults){ switch(permsRequestCode){ case RESULT_CODE_STARTAUDIO: boolean albumAccepted = grantResults[0]==PackageManager.PERMISSION_GRANTED; if(!albumAccepted){ ToastUtil.show(context,"請開啟應用錄音許可權"); } break; } }


2.拍照的許可權

2.1.首先在清單中加入兩個許可權

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/><uses-permission android:name="android.permission.CAMERA"/>

 

2.2.然後在活動的onCreate或者其他必然執行的地方加入如下代碼 

    //判斷是否開戶相簿許可權    if (PackageManager.PERMISSION_GRANTED == ContextCompat.checkSelfPermission(context, android.Manifest.permission.CAMERA)) {        Camera.startCameraUrl(context, filename, CAMERA);    }else{        //提示使用者開戶許可權        String[] perms = {"android.permission.CAMERA"};        ActivityCompat.requestPermissions(Broadcast_publish.this,perms, RESULT_CODE_STARTCAMERA);    }    @Override    public void onRequestPermissionsResult(int permsRequestCode, String[] permissions, int[] grantResults){        switch(permsRequestCode){            case RESULT_CODE_STARTCAMERA:                boolean cameraAccepted = grantResults[0]==PackageManager.PERMISSION_GRANTED;                if(cameraAccepted){                    //授權成功之後,調用系統相機進行拍照操作等                    Camera.startCameraUrl(context, filename, CAMERA);                }else{                    //使用者授權拒絕之後,友情提示一下就可以了                    ToastUtil.show(context,"請開啟應用拍照許可權");                }                break;        }    }


3.開啟相簿許可權

3.1.需要在清單中加入如下許可權

<!-- 寫sd卡的許可權 --><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/><!-- 讀sd卡許可權 --><uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/><uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />

 

3.2.然後在活動的onCreate或者必然執行的方法執行如下代碼

    //第二個參數是需要申請的許可權    if (ContextCompat.checkSelfPermission(this,Manifest.permission.WRITE_EXTERNAL_STORAGE)!= PackageManager.PERMISSION_GRANTED){        //許可權還沒有授予,需要在這裡寫申請許可權的代碼        ActivityCompat.requestPermissions(this,                new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, PERMISSIONS_REQUEST_OPEN_ALBUM);    }else {        //許可權已經被授予,在這裡直接寫要執行的相應方法即可    }        @Override    public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {        if (requestCode == MY_PERMISSIONS_REQUEST_OPEN_ALBUM) {            if (grantResults[0] == PackageManager.PERMISSION_GRANTED) {                //授權成功            } else {                //授權失敗                Toast.makeText(this, "Permission Denied", Toast.LENGTH_SHORT).show();            }        }    }


Android 6.0 動態申請 音頻+拍照+相簿 許可權

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.