Android初學特訓班第13章ExRecord範例 |
|
讀者
更新時間:2017/9/13 下午 04:04:39 |
|
請問第13章ExRecord這個範例需要三種授權,第62行int hasPermission=checkSelfPermission(Manifest.permission.READ_EXTERNAL_STORAGE);是否改為 int hasPermission=checkSelfPermissio(Manifest.permission.RECORD_AUDIO, Manifest.permission.READ_EXTERNAL_STORAGE,Manifest.permission.WRITE_EXTERNAL_STORAGE);比較合適呢(不確定檢查多個授權此寫法正不正確)? |
|
|
|
文淵閣工作室
更新時間:2017/9/14 上午 08:42:19 |
|
您的程式會產生錯誤,checkSelfPermission 沒有支援多字串參數的多載。 原意是若獲得授權就應3個權限都獲得,所以只檢查1個即可。 若要3個權限都檢查可改為: int hasPermission1 = checkSelfPermission(Manifest.permission.READ_EXTERNAL_STORAGE); int hasPermission2 = checkSelfPermission(Manifest.permission.RECORD_AUDIO); int hasPermission3 = checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE); if(hasPermission1 != PackageManager.PERMISSION_GRANTED || hasPermission2 != PackageManager.PERMISSION_GRANTED || hasPermission3 != PackageManager.PERMISSION_GRANTED) { //未取得驗證 requestPermissions(new String[]{Manifest.permission.RECORD_AUDIO, Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE}, 1); return; }
|
|
|
|
|
|
|