Commit 6f705fd035685e78a62722d44838a0e54921a3ae
1 parent
c7e2880b
1.图片选取列表中的拍摄照片按钮, 增加权限申请说明提示窗
Showing
4 changed files
with
57 additions
and
4 deletions
config.gradle
gradle/wrapper/gradle-wrapper.jar
0 → 100644
gradle/wrapper/gradle-wrapper.properties
0 → 100644
lib_media/src/main/java/com/cnlive/media/frame/view/MediaView.java
| @@ -2,6 +2,7 @@ package com.cnlive.media.frame.view; | @@ -2,6 +2,7 @@ package com.cnlive.media.frame.view; | ||
| 2 | 2 | ||
| 3 | import android.Manifest; | 3 | import android.Manifest; |
| 4 | import android.app.Dialog; | 4 | import android.app.Dialog; |
| 5 | +import android.content.Context; | ||
| 5 | import android.graphics.Color; | 6 | import android.graphics.Color; |
| 6 | import android.graphics.drawable.ColorDrawable; | 7 | import android.graphics.drawable.ColorDrawable; |
| 7 | import android.media.ExifInterface; | 8 | import android.media.ExifInterface; |
| @@ -490,11 +491,57 @@ public class MediaView implements MvpView { | @@ -490,11 +491,57 @@ public class MediaView implements MvpView { | ||
| 490 | } | 491 | } |
| 491 | } | 492 | } |
| 492 | 493 | ||
| 494 | + public interface DialogOneListener { | ||
| 495 | + void onClick(); | ||
| 496 | + } | ||
| 497 | + | ||
| 498 | + public static boolean checkPermissionOnly(Context context, | ||
| 499 | + String content, | ||
| 500 | + String[] permissions, | ||
| 501 | + DialogOneListener listener) { | ||
| 502 | + for (String permission : permissions) { | ||
| 503 | + if (!TextUtils.isEmpty(permission) && ActivityCompat.checkSelfPermission(context, permission) != 0) { | ||
| 504 | + // "相机权限与存储权限使用说明:\n相机权限用于拍摄照片,存储权限用于浏览和选择本地相册图片" | ||
| 505 | + AlertDialogUtils.showTwoButtonDialog(context, | ||
| 506 | + "取消", "我知道了", content, | ||
| 507 | + R.color.color_dialog_btn, R.color.color_ffa300, new AlertDialogUtils.DialogTwoListener() { | ||
| 508 | + @Override | ||
| 509 | + public void onClickLeft(Dialog dialog) { | ||
| 510 | + if (dialog != null) dialog.dismiss(); | ||
| 511 | + } | ||
| 512 | + | ||
| 513 | + @Override | ||
| 514 | + public void onClickRight(Dialog dialog) { | ||
| 515 | + if (dialog != null) dialog.dismiss(); | ||
| 516 | + if (listener != null) listener.onClick(); | ||
| 517 | + } | ||
| 518 | + }); | ||
| 519 | + return false; | ||
| 520 | + } | ||
| 521 | + } | ||
| 522 | + return true; | ||
| 523 | + } | ||
| 524 | + | ||
| 493 | //打开 录制页面 | 525 | //打开 录制页面 |
| 494 | public void openRecord() { | 526 | public void openRecord() { |
| 495 | - boolean hasPermissions = mActivity.getPresenter() | ||
| 496 | - .checkPermissions(mActivity, mActivity.permissionsRecord, REQUEST_CODE_PERMISSION_CAMERA, mActivity.getResources().getString(R.string.dialog_imagepicker_permission_camera_nerver_ask_message), false); | ||
| 497 | - if (hasPermissions) { | 527 | + boolean hasPermission = checkPermissionOnly(mActivity, |
| 528 | + "相机、麦克风权限说明:\n相机与麦克风权限用于拍摄照片及录制视频。", | ||
| 529 | + mActivity.permissionsRecord, | ||
| 530 | + () -> { | ||
| 531 | + boolean hasPermissions = mActivity | ||
| 532 | + .getPresenter() | ||
| 533 | + .checkPermissions(mActivity, mActivity.permissionsRecord, REQUEST_CODE_PERMISSION_CAMERA, | ||
| 534 | + mActivity.getResources().getString( | ||
| 535 | + R.string.dialog_imagepicker_permission_camera_nerver_ask_message | ||
| 536 | + ), | ||
| 537 | + false); | ||
| 538 | + if (hasPermissions) { | ||
| 539 | + RecordActivity.newInstance(mActivity, mActivity.mOptions); | ||
| 540 | + } | ||
| 541 | + } | ||
| 542 | + ); | ||
| 543 | + | ||
| 544 | + if (hasPermission) { | ||
| 498 | RecordActivity.newInstance(mActivity, mActivity.mOptions); | 545 | RecordActivity.newInstance(mActivity, mActivity.mOptions); |
| 499 | } | 546 | } |
| 500 | } | 547 | } |