From 357ece2ebeed0cad55d6c32e1d487dedec8fec65 Mon Sep 17 00:00:00 2001
From: zlzw <583819556@qq.com>
Date: Wed, 30 Aug 2023 13:28:42 +0800
Subject: [PATCH] =?UTF-8?q?=E8=A1=A5=E5=85=85Android13=E6=9D=83=E9=99=90?=
=?UTF-8?q?=E9=97=AE=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/src/main/AndroidManifest.xml | 1 +
.../activity/PDLiveConversationActivity.java | 16 +++++++++----
.../dialog/LiveMicUserDialogFragment.java | 20 ++++++++++++----
.../PDLIiveChatConversationFragment.java | 15 ++++++++----
.../live/presenter/LiveLinkMicPresenter.java | 23 ++++++++++++++-----
.../live/views/SystemMessageViewHolder.java | 15 ++++++++----
.../main/activity/ThreeDistributActivity.java | 16 +++++++++----
.../video/activity/AbsVideoPlayActivity.java | 17 ++++++++++----
8 files changed, 92 insertions(+), 31 deletions(-)
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 9e513cf6e..3bda3045e 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -64,6 +64,7 @@
+
= Build.VERSION_CODES.TIRAMISU) {
+ permission1=Manifest.permission.READ_MEDIA_IMAGES;
+ permission2=Manifest.permission.READ_MEDIA_VIDEO;
+ }
+
//选择图片
- int isPermission1 = ContextCompat.checkSelfPermission(mContext, Manifest.permission.READ_EXTERNAL_STORAGE);
- int isPermission2 = ContextCompat.checkSelfPermission(mContext, Manifest.permission.WRITE_EXTERNAL_STORAGE);
+ int isPermission1 = ContextCompat.checkSelfPermission(mContext, permission1);
+ int isPermission2 = ContextCompat.checkSelfPermission(mContext, permission2);
if (isPermission1 == PackageManager.PERMISSION_GRANTED && isPermission2 == PackageManager.PERMISSION_GRANTED) {
startActivity(intoIndex);
} else {
//申请权限
- ActivityCompat.requestPermissions(mContext, new String[]{Manifest.permission.READ_EXTERNAL_STORAGE,
- Manifest.permission.WRITE_EXTERNAL_STORAGE}, PERMISSION_REQUEST_CODE);
+ ActivityCompat.requestPermissions(mContext, new String[]{permission1,
+ permission2}, PERMISSION_REQUEST_CODE);
}
}
diff --git a/live/src/main/java/com/yunbao/live/dialog/LiveMicUserDialogFragment.java b/live/src/main/java/com/yunbao/live/dialog/LiveMicUserDialogFragment.java
index e77055df2..4a7cffde4 100644
--- a/live/src/main/java/com/yunbao/live/dialog/LiveMicUserDialogFragment.java
+++ b/live/src/main/java/com/yunbao/live/dialog/LiveMicUserDialogFragment.java
@@ -4,6 +4,7 @@ import android.Manifest;
import android.app.ActionBar;
import android.app.Dialog;
import android.graphics.Color;
+import android.os.Build;
import android.os.Bundle;
import android.util.Log;
import android.view.Gravity;
@@ -161,11 +162,20 @@ public class LiveMicUserDialogFragment extends AbsDialogFragment implements View
@Override
public void onClick(View v) {
if (MicStatusManager.getInstance().getMicStatus() == MicStatusManager.MIC_TYPE_DEFAULT) {
- LiveAudienceActivity.mProcessResultUtil.requestPermissions(new String[]{
- Manifest.permission.READ_EXTERNAL_STORAGE,
- Manifest.permission.WRITE_EXTERNAL_STORAGE,
- Manifest.permission.RECORD_AUDIO
- }, new Runnable() {
+ String[] permissions;
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
+ permissions=new String[]{
+ Manifest.permission.READ_MEDIA_IMAGES,
+ Manifest.permission.RECORD_AUDIO
+ };
+ }else{
+ permissions=new String[]{
+ Manifest.permission.READ_EXTERNAL_STORAGE,
+ Manifest.permission.WRITE_EXTERNAL_STORAGE,
+ Manifest.permission.RECORD_AUDIO
+ };
+ }
+ LiveAudienceActivity.mProcessResultUtil.requestPermissions(permissions, new Runnable() {
@Override
public void run() {
diff --git a/live/src/main/java/com/yunbao/live/dialog/PDLIiveChatConversationFragment.java b/live/src/main/java/com/yunbao/live/dialog/PDLIiveChatConversationFragment.java
index 017cf7742..319fd943e 100644
--- a/live/src/main/java/com/yunbao/live/dialog/PDLIiveChatConversationFragment.java
+++ b/live/src/main/java/com/yunbao/live/dialog/PDLIiveChatConversationFragment.java
@@ -3,6 +3,7 @@ package com.yunbao.live.dialog;
import android.Manifest;
import android.content.Intent;
import android.content.pm.PackageManager;
+import android.os.Build;
import android.os.Bundle;
import android.text.TextUtils;
import android.util.Log;
@@ -162,15 +163,21 @@ public class PDLIiveChatConversationFragment extends AbsDialogFragment implement
//intoIndex 1=调用相机,2=照片选取,3=视频选取
public void jumpPic(int intoIndex) {
+ String permission1=Manifest.permission.READ_EXTERNAL_STORAGE;
+ String permission2= Manifest.permission.WRITE_EXTERNAL_STORAGE;
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
+ permission1=Manifest.permission.READ_MEDIA_IMAGES;
+ permission2=Manifest.permission.READ_MEDIA_IMAGES;
+ }
//选择图片
- int isPermission1 = ContextCompat.checkSelfPermission(mContext, Manifest.permission.READ_EXTERNAL_STORAGE);
- int isPermission2 = ContextCompat.checkSelfPermission(mContext, Manifest.permission.WRITE_EXTERNAL_STORAGE);
+ int isPermission1 = ContextCompat.checkSelfPermission(mContext, permission1);
+ int isPermission2 = ContextCompat.checkSelfPermission(mContext, permission2);
if (isPermission1 == PackageManager.PERMISSION_GRANTED && isPermission2 == PackageManager.PERMISSION_GRANTED) {
startActivity(intoIndex);
} else {
//申请权限
- ActivityCompat.requestPermissions(getActivity(), new String[]{Manifest.permission.READ_EXTERNAL_STORAGE,
- Manifest.permission.WRITE_EXTERNAL_STORAGE}, PERMISSION_REQUEST_CODE);
+ ActivityCompat.requestPermissions(getActivity(), new String[]{permission1,
+ permission2}, PERMISSION_REQUEST_CODE);
}
}
diff --git a/live/src/main/java/com/yunbao/live/presenter/LiveLinkMicPresenter.java b/live/src/main/java/com/yunbao/live/presenter/LiveLinkMicPresenter.java
index dba97e787..983bc7b5a 100644
--- a/live/src/main/java/com/yunbao/live/presenter/LiveLinkMicPresenter.java
+++ b/live/src/main/java/com/yunbao/live/presenter/LiveLinkMicPresenter.java
@@ -5,6 +5,7 @@ import android.app.Activity;
import android.app.Dialog;
import android.content.Context;
import android.graphics.drawable.ColorDrawable;
+import android.os.Build;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
@@ -587,12 +588,22 @@ public class LiveLinkMicPresenter implements View.OnClickListener {
if (processResultUtil == null) {
return;
}
- processResultUtil.requestPermissions(new String[]{
- Manifest.permission.READ_EXTERNAL_STORAGE,
- Manifest.permission.WRITE_EXTERNAL_STORAGE,
- Manifest.permission.CAMERA,
- Manifest.permission.RECORD_AUDIO
- }, new Runnable() {
+ String[] permissions;
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
+ permissions=new String[]{
+ Manifest.permission.READ_MEDIA_IMAGES,
+ Manifest.permission.CAMERA,
+ Manifest.permission.RECORD_AUDIO,
+ };
+ }else{
+ permissions=new String[]{
+ Manifest.permission.READ_EXTERNAL_STORAGE,
+ Manifest.permission.WRITE_EXTERNAL_STORAGE,
+ Manifest.permission.CAMERA,
+ Manifest.permission.RECORD_AUDIO
+ };
+ }
+ processResultUtil.requestPermissions(permissions, new Runnable() {
@Override
public void run() {
SocketLinkMicUtil.audienceApplyLinkMic(mSocketClient);
diff --git a/live/src/main/java/com/yunbao/live/views/SystemMessageViewHolder.java b/live/src/main/java/com/yunbao/live/views/SystemMessageViewHolder.java
index 182f7518c..4a0f83171 100644
--- a/live/src/main/java/com/yunbao/live/views/SystemMessageViewHolder.java
+++ b/live/src/main/java/com/yunbao/live/views/SystemMessageViewHolder.java
@@ -11,6 +11,7 @@ import android.content.pm.PackageManager;
import android.graphics.drawable.BitmapDrawable;
import android.media.MediaMetadataRetriever;
import android.net.Uri;
+import android.os.Build;
import android.os.Handler;
import android.os.Parcelable;
import android.text.Editable;
@@ -682,14 +683,20 @@ public class SystemMessageViewHolder extends AbsViewHolder implements View.OnCli
//intoIndex 1=调用相机,2=照片选取,3=视频选取
public void choosePic(int intoIndex) {
//选择图片
- int isPermission1 = ContextCompat.checkSelfPermission(mContext, Manifest.permission.READ_EXTERNAL_STORAGE);
- int isPermission2 = ContextCompat.checkSelfPermission(mContext, Manifest.permission.WRITE_EXTERNAL_STORAGE);
+ String permission1=Manifest.permission.READ_EXTERNAL_STORAGE;
+ String permission2= Manifest.permission.WRITE_EXTERNAL_STORAGE;
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
+ permission1=Manifest.permission.READ_MEDIA_IMAGES;
+ permission2=Manifest.permission.READ_MEDIA_VIDEO;
+ }
+ int isPermission1 = ContextCompat.checkSelfPermission(mContext, permission1);
+ int isPermission2 = ContextCompat.checkSelfPermission(mContext, permission2);
if (isPermission1 == PackageManager.PERMISSION_GRANTED && isPermission2 == PackageManager.PERMISSION_GRANTED) {
startActivity(intoIndex);
} else {
//申请权限
- ActivityCompat.requestPermissions(nowActivity, new String[]{Manifest.permission.READ_EXTERNAL_STORAGE,
- Manifest.permission.WRITE_EXTERNAL_STORAGE}, PERMISSION_REQUEST_CODE);
+ ActivityCompat.requestPermissions(nowActivity, new String[]{permission1,
+ permission2}, PERMISSION_REQUEST_CODE);
}
}
diff --git a/main/src/main/java/com/yunbao/main/activity/ThreeDistributActivity.java b/main/src/main/java/com/yunbao/main/activity/ThreeDistributActivity.java
index e55b94ae6..22c76faf1 100644
--- a/main/src/main/java/com/yunbao/main/activity/ThreeDistributActivity.java
+++ b/main/src/main/java/com/yunbao/main/activity/ThreeDistributActivity.java
@@ -309,10 +309,18 @@ public class ThreeDistributActivity extends AbsActivity implements View.OnClickL
* 生成分享图片
*/
private void saveBitmapFile() {
- mProcessResultUtil.requestPermissions(new String[]{
- Manifest.permission.READ_EXTERNAL_STORAGE,
- Manifest.permission.WRITE_EXTERNAL_STORAGE,
- }, new Runnable() {
+ String[] permissions;
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
+ permissions=new String[]{
+ Manifest.permission.READ_MEDIA_IMAGES
+ };
+ }else{
+ permissions=new String[]{
+ Manifest.permission.READ_EXTERNAL_STORAGE,
+ Manifest.permission.WRITE_EXTERNAL_STORAGE,
+ };
+ }
+ mProcessResultUtil.requestPermissions(permissions, new Runnable() {
@Override
public void run() {
if (mContainer == null) {
diff --git a/video/src/main/java/com/yunbao/video/activity/AbsVideoPlayActivity.java b/video/src/main/java/com/yunbao/video/activity/AbsVideoPlayActivity.java
index ed8457dc3..170864c72 100644
--- a/video/src/main/java/com/yunbao/video/activity/AbsVideoPlayActivity.java
+++ b/video/src/main/java/com/yunbao/video/activity/AbsVideoPlayActivity.java
@@ -6,6 +6,7 @@ import android.content.ClipData;
import android.content.ClipboardManager;
import android.content.Context;
import android.media.MediaMetadataRetriever;
+import android.os.Build;
import android.text.TextUtils;
import android.view.WindowManager;
@@ -143,10 +144,18 @@ public abstract class AbsVideoPlayActivity extends AbsVideoCommentActivity {
if (mProcessResultUtil == null || videoBean == null || TextUtils.isEmpty(videoBean.getHref())) {
return;
}
- mProcessResultUtil.requestPermissions(new String[]{
- Manifest.permission.READ_EXTERNAL_STORAGE,
- Manifest.permission.WRITE_EXTERNAL_STORAGE,
- }, new Runnable() {
+ String[] permissions;
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
+ permissions=new String[]{
+ Manifest.permission.READ_MEDIA_IMAGES
+ };
+ }else{
+ permissions=new String[]{
+ Manifest.permission.READ_EXTERNAL_STORAGE,
+ Manifest.permission.WRITE_EXTERNAL_STORAGE
+ };
+ }
+ mProcessResultUtil.requestPermissions(permissions, new Runnable() {
@Override
public void run() {
mDownloadVideoDialog = DialogUitl.loadingDialog(mContext);