最近搗鼓錄音小程序,發現很多晚上的demo 都不能運行成功,細看log發現是權限申請在Android版本中有所不同,在6.0.之後似乎需要我們動態的去通過用戶是否給予權限而獲得我們需要的權限。
聲明需要的權限,然後再需要到activity裏調用動態的申請,讓用決定是否給你相關權限,
函數如下:
先是要定義如下的以下變量,當然了,你直接寫也是沒毛病滴。以此類推各類在Android6.0之後的改變都需要這樣去申請。
//申請錄音權限
private static final int GET_RECODE_AUDIO = 1;
private static String[] PERMISSION_AUDIO = {
Manifest.permission.RECORD_AUDIO
};
/*
* 申請錄音權限*/
public static void verifyAudioPermissions(Activity activity) {
int permission = ActivityCompat.checkSelfPermission(activity,
Manifest.permission.RECORD_AUDIO);
if (permission != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(activity, PERMISSION_AUDIO,
GET_RECODE_AUDIO);
}
}
當然了,代碼肯定不止這一種實現方式,但這種方式肯定行。