Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 83eb870

Browse files
committed
Update
Update android 6 permission model
1 parent 381394c commit 83eb870

File tree

9 files changed

+172
-116
lines changed
  • examples
    • 0401/MyAndroidTutorial/app/src/main/java/net/macdidi/myandroidtutorial
    • 0402/MyAndroidTutorial/app/src/main/java/net/macdidi/myandroidtutorial
    • 0403/MyAndroidTutorial/app/src/main/java/net/macdidi/myandroidtutorial
    • 0501/MyAndroidTutorial/app/src/main/java/net/macdidi/myandroidtutorial
    • 0502/MyAndroidTutorial/app/src/main/java/net/macdidi/myandroidtutorial
    • 0503/MyAndroidTutorial/app/src/main/java/net/macdidi/myandroidtutorial
    • 0601/MyAndroidTutorial/app/src/main/java/net/macdidi/myandroidtutorial
    • 0602/MyAndroidTutorial/app/src/main/java/net/macdidi/myandroidtutorial
    • 0603/MyAndroidTutorial/app/src/main/java/net/macdidi/myandroidtutorial

9 files changed

+172
-116
lines changed

examples/0401/MyAndroidTutorial/app/src/main/java/net/macdidi/myandroidtutorial/ItemActivity.java

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -298,7 +298,7 @@ private File configRecFileName(String prefix, String extension) {
298298
// 讀取與處理寫入外部儲存設備授權請求
299299
private void requestStoragePermission() {
300300
// 如果裝置版本是6.0(包含)以上
301-
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
301+
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
302302
// 取得授權狀態,參數是請求授權的名稱
303303
int hasPermission = checkSelfPermission(
304304
Manifest.permission.WRITE_EXTERNAL_STORAGE);
@@ -311,12 +311,14 @@ private void requestStoragePermission() {
311311
requestPermissions(
312312
new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE},
313313
REQUEST_WRITE_EXTERNAL_STORAGE_PERMISSION);
314-
}
315-
else {
316-
// 拍攝照片
317-
takePicture();
314+
return;
318315
}
319316
}
317+
318+
// 如果裝置版本是6.0以下,
319+
// 或是裝置版本是6.0(包含)以上,使用者已經授權,
320+
// 拍攝照片
321+
takePicture();
320322
}
321323

322324
// 讀取與處理錄音設備授權請求
@@ -335,12 +337,14 @@ private void requestRecordPermission() {
335337
requestPermissions(
336338
new String[]{Manifest.permission.RECORD_AUDIO},
337339
REQUEST_RECORD_AUDIO_PERMISSION);
338-
}
339-
else {
340-
// 錄音或播放
341-
processRecord();
340+
return;
342341
}
343342
}
343+
344+
// 如果裝置版本是6.0以下,
345+
// 或是裝置版本是6.0(包含)以上,使用者已經授權,
346+
// 錄音或播放
347+
processRecord();
344348
}
345349

346350
// 覆寫請求授權後執行的方法

examples/0402/MyAndroidTutorial/app/src/main/java/net/macdidi/myandroidtutorial/ItemActivity.java

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -302,7 +302,7 @@ private File configRecFileName(String prefix, String extension) {
302302
// 讀取與處理寫入外部儲存設備授權請求
303303
private void requestStoragePermission() {
304304
// 如果裝置版本是6.0(包含)以上
305-
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
305+
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
306306
// 取得授權狀態,參數是請求授權的名稱
307307
int hasPermission = checkSelfPermission(
308308
Manifest.permission.WRITE_EXTERNAL_STORAGE);
@@ -315,12 +315,14 @@ private void requestStoragePermission() {
315315
requestPermissions(
316316
new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE},
317317
REQUEST_WRITE_EXTERNAL_STORAGE_PERMISSION);
318-
}
319-
else {
320-
// 拍攝照片
321-
takePicture();
318+
return;
322319
}
323320
}
321+
322+
// 如果裝置版本是6.0以下,
323+
// 或是裝置版本是6.0(包含)以上,使用者已經授權,
324+
// 拍攝照片
325+
takePicture();
324326
}
325327

326328
// 讀取與處理錄音設備授權請求
@@ -339,12 +341,14 @@ private void requestRecordPermission() {
339341
requestPermissions(
340342
new String[]{Manifest.permission.RECORD_AUDIO},
341343
REQUEST_RECORD_AUDIO_PERMISSION);
342-
}
343-
else {
344-
// 錄音或播放
345-
processRecord();
344+
return;
346345
}
347346
}
347+
348+
// 如果裝置版本是6.0以下,
349+
// 或是裝置版本是6.0(包含)以上,使用者已經授權,
350+
// 錄音或播放
351+
processRecord();
348352
}
349353

350354
// 覆寫請求授權後執行的方法

examples/0403/MyAndroidTutorial/app/src/main/java/net/macdidi/myandroidtutorial/ItemActivity.java

Lines changed: 20 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -323,7 +323,7 @@ private File configRecFileName(String prefix, String extension) {
323323
// 讀取與處理寫入外部儲存設備授權請求
324324
private void requestStoragePermission() {
325325
// 如果裝置版本是6.0(包含)以上
326-
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
326+
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
327327
// 取得授權狀態,參數是請求授權的名稱
328328
int hasPermission = checkSelfPermission(
329329
Manifest.permission.WRITE_EXTERNAL_STORAGE);
@@ -336,12 +336,14 @@ private void requestStoragePermission() {
336336
requestPermissions(
337337
new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE},
338338
REQUEST_WRITE_EXTERNAL_STORAGE_PERMISSION);
339-
}
340-
else {
341-
// 拍攝照片
342-
takePicture();
339+
return;
343340
}
344341
}
342+
343+
// 如果裝置版本是6.0以下,
344+
// 或是裝置版本是6.0(包含)以上,使用者已經授權,
345+
// 拍攝照片
346+
takePicture();
345347
}
346348

347349
// 讀取與處理錄音設備授權請求
@@ -360,14 +362,16 @@ private void requestRecordPermission() {
360362
requestPermissions(
361363
new String[]{Manifest.permission.RECORD_AUDIO},
362364
REQUEST_RECORD_AUDIO_PERMISSION);
363-
}
364-
else {
365-
// 錄音或播放
366-
processRecord();
365+
return;
367366
}
368367
}
369-
}
370368

369+
// 如果裝置版本是6.0以下,
370+
// 或是裝置版本是6.0(包含)以上,使用者已經授權,
371+
// 錄音或播放
372+
processRecord();
373+
}
374+
371375
// 讀取與處理定位設備授權請求
372376
private void requestLocationPermission() {
373377
// 如果裝置版本是6.0(包含)以上
@@ -384,12 +388,14 @@ private void requestLocationPermission() {
384388
requestPermissions(
385389
new String[]{Manifest.permission.ACCESS_FINE_LOCATION},
386390
REQUEST_FINE_LOCATION_PERMISSION);
387-
}
388-
else {
389-
// 啟動地圖與定位元件
390-
processLocation();
391+
return;
391392
}
392393
}
394+
395+
// 如果裝置版本是6.0以下,
396+
// 或是裝置版本是6.0(包含)以上,使用者已經授權,
397+
// 啟動地圖與定位元件
398+
processLocation();
393399
}
394400

395401
// 覆寫請求授權後執行的方法

examples/0501/MyAndroidTutorial/app/src/main/java/net/macdidi/myandroidtutorial/ItemActivity.java

Lines changed: 21 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -330,7 +330,7 @@ private File configRecFileName(String prefix, String extension) {
330330
// 讀取與處理寫入外部儲存設備授權請求
331331
private void requestStoragePermission() {
332332
// 如果裝置版本是6.0(包含)以上
333-
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
333+
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
334334
// 取得授權狀態,參數是請求授權的名稱
335335
int hasPermission = checkSelfPermission(
336336
Manifest.permission.WRITE_EXTERNAL_STORAGE);
@@ -343,12 +343,14 @@ private void requestStoragePermission() {
343343
requestPermissions(
344344
new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE},
345345
REQUEST_WRITE_EXTERNAL_STORAGE_PERMISSION);
346-
}
347-
else {
348-
// 拍攝照片
349-
takePicture();
346+
return;
350347
}
351348
}
349+
350+
// 如果裝置版本是6.0以下,
351+
// 或是裝置版本是6.0(包含)以上,使用者已經授權,
352+
// 拍攝照片
353+
takePicture();
352354
}
353355

354356
// 讀取與處理錄音設備授權請求
@@ -367,14 +369,17 @@ private void requestRecordPermission() {
367369
requestPermissions(
368370
new String[]{Manifest.permission.RECORD_AUDIO},
369371
REQUEST_RECORD_AUDIO_PERMISSION);
370-
}
371-
else {
372-
// 錄音或播放
373-
processRecord();
372+
return;
374373
}
375374
}
375+
376+
// 如果裝置版本是6.0以下,
377+
// 或是裝置版本是6.0(包含)以上,使用者已經授權,
378+
// 錄音或播放
379+
processRecord();
376380
}
377381

382+
378383
// 讀取與處理定位設備授權請求
379384
private void requestLocationPermission() {
380385
// 如果裝置版本是6.0(包含)以上
@@ -391,13 +396,15 @@ private void requestLocationPermission() {
391396
requestPermissions(
392397
new String[]{Manifest.permission.ACCESS_FINE_LOCATION},
393398
REQUEST_FINE_LOCATION_PERMISSION);
394-
}
395-
else {
396-
// 啟動地圖與定位元件
397-
processLocation();
399+
return;
398400
}
399401
}
400-
}
402+
403+
// 如果裝置版本是6.0以下,
404+
// 或是裝置版本是6.0(包含)以上,使用者已經授權,
405+
// 啟動地圖與定位元件
406+
processLocation();
407+
}
401408

402409
// 覆寫請求授權後執行的方法
403410
// 第一個參數是請求代碼

examples/0502/MyAndroidTutorial/app/src/main/java/net/macdidi/myandroidtutorial/ItemActivity.java

Lines changed: 21 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -330,7 +330,7 @@ private File configRecFileName(String prefix, String extension) {
330330
// 讀取與處理寫入外部儲存設備授權請求
331331
private void requestStoragePermission() {
332332
// 如果裝置版本是6.0(包含)以上
333-
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
333+
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
334334
// 取得授權狀態,參數是請求授權的名稱
335335
int hasPermission = checkSelfPermission(
336336
Manifest.permission.WRITE_EXTERNAL_STORAGE);
@@ -343,12 +343,14 @@ private void requestStoragePermission() {
343343
requestPermissions(
344344
new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE},
345345
REQUEST_WRITE_EXTERNAL_STORAGE_PERMISSION);
346-
}
347-
else {
348-
// 拍攝照片
349-
takePicture();
346+
return;
350347
}
351348
}
349+
350+
// 如果裝置版本是6.0以下,
351+
// 或是裝置版本是6.0(包含)以上,使用者已經授權,
352+
// 拍攝照片
353+
takePicture();
352354
}
353355

354356
// 讀取與處理錄音設備授權請求
@@ -367,14 +369,17 @@ private void requestRecordPermission() {
367369
requestPermissions(
368370
new String[]{Manifest.permission.RECORD_AUDIO},
369371
REQUEST_RECORD_AUDIO_PERMISSION);
370-
}
371-
else {
372-
// 錄音或播放
373-
processRecord();
372+
return;
374373
}
375374
}
375+
376+
// 如果裝置版本是6.0以下,
377+
// 或是裝置版本是6.0(包含)以上,使用者已經授權,
378+
// 錄音或播放
379+
processRecord();
376380
}
377381

382+
378383
// 讀取與處理定位設備授權請求
379384
private void requestLocationPermission() {
380385
// 如果裝置版本是6.0(包含)以上
@@ -391,13 +396,15 @@ private void requestLocationPermission() {
391396
requestPermissions(
392397
new String[]{Manifest.permission.ACCESS_FINE_LOCATION},
393398
REQUEST_FINE_LOCATION_PERMISSION);
394-
}
395-
else {
396-
// 啟動地圖與定位元件
397-
processLocation();
399+
return;
398400
}
399401
}
400-
}
402+
403+
// 如果裝置版本是6.0以下,
404+
// 或是裝置版本是6.0(包含)以上,使用者已經授權,
405+
// 啟動地圖與定位元件
406+
processLocation();
407+
}
401408

402409
// 覆寫請求授權後執行的方法
403410
// 第一個參數是請求代碼

examples/0503/MyAndroidTutorial/app/src/main/java/net/macdidi/myandroidtutorial/ItemActivity.java

Lines changed: 21 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -330,7 +330,7 @@ private File configRecFileName(String prefix, String extension) {
330330
// 讀取與處理寫入外部儲存設備授權請求
331331
private void requestStoragePermission() {
332332
// 如果裝置版本是6.0(包含)以上
333-
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
333+
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
334334
// 取得授權狀態,參數是請求授權的名稱
335335
int hasPermission = checkSelfPermission(
336336
Manifest.permission.WRITE_EXTERNAL_STORAGE);
@@ -343,12 +343,14 @@ private void requestStoragePermission() {
343343
requestPermissions(
344344
new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE},
345345
REQUEST_WRITE_EXTERNAL_STORAGE_PERMISSION);
346-
}
347-
else {
348-
// 拍攝照片
349-
takePicture();
346+
return;
350347
}
351348
}
349+
350+
// 如果裝置版本是6.0以下,
351+
// 或是裝置版本是6.0(包含)以上,使用者已經授權,
352+
// 拍攝照片
353+
takePicture();
352354
}
353355

354356
// 讀取與處理錄音設備授權請求
@@ -367,14 +369,17 @@ private void requestRecordPermission() {
367369
requestPermissions(
368370
new String[]{Manifest.permission.RECORD_AUDIO},
369371
REQUEST_RECORD_AUDIO_PERMISSION);
370-
}
371-
else {
372-
// 錄音或播放
373-
processRecord();
372+
return;
374373
}
375374
}
375+
376+
// 如果裝置版本是6.0以下,
377+
// 或是裝置版本是6.0(包含)以上,使用者已經授權,
378+
// 錄音或播放
379+
processRecord();
376380
}
377381

382+
378383
// 讀取與處理定位設備授權請求
379384
private void requestLocationPermission() {
380385
// 如果裝置版本是6.0(包含)以上
@@ -391,13 +396,15 @@ private void requestLocationPermission() {
391396
requestPermissions(
392397
new String[]{Manifest.permission.ACCESS_FINE_LOCATION},
393398
REQUEST_FINE_LOCATION_PERMISSION);
394-
}
395-
else {
396-
// 啟動地圖與定位元件
397-
processLocation();
399+
return;
398400
}
399401
}
400-
}
402+
403+
// 如果裝置版本是6.0以下,
404+
// 或是裝置版本是6.0(包含)以上,使用者已經授權,
405+
// 啟動地圖與定位元件
406+
processLocation();
407+
}
401408

402409
// 覆寫請求授權後執行的方法
403410
// 第一個參數是請求代碼

0 commit comments

Comments
 (0)