Commit 855a674be47c3115ab55df0e5f302f20370018af

Authored by 朱显松
1 parent ee18f83d

1.Android 13 存储权限适配

build.gradle
... ... @@ -45,10 +45,10 @@ ext {
45 45 versionCode = versionMajor * 1000 + versionMinor * 100 + versionPatch * 10 + versionBuild
46 46 versionName = "${versionMajor}.${versionMinor}.${versionPatch}.${versionBuild}"
47 47  
48   - compileSdkVersion = 31
49   - buildToolsVersion = "29.0.2"
  48 + compileSdkVersion = 33
  49 + buildToolsVersion = "30.0.3"
50 50 minSdkVersion = 19
51   - targetSdkVersion = 31
  51 + targetSdkVersion = 33
52 52  
53 53 libNewMediaPicker = '1.0.1.8'
54 54 appArch = '1.3.6.2-androidx-beta1'
... ...
config.gradle
... ... @@ -21,7 +21,7 @@ ext {
21 21 //编译方式
22 22 debug : false,
23 23 //版本号
24   - version: "1.3.8",
  24 + version: "1.3.9",
25 25 //Lib库前缀
26 26 packeg : "com.cnlive.module",
27 27 //Lib库名称
... ...
moudle_pedometer/src/main/AndroidManifest.xml
... ... @@ -9,7 +9,12 @@
9 9 <uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS" /> <!-- 计歩需要的权限 -->
10 10 <uses-permission android:name="android.permission.VIBRATE" />
11 11 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
12   - <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <!-- //获取设备网络状态,禁用后无法获取网络状态 -->
  12 + <uses-permission android:name="android.permission.READ_MEDIA_IMAGES" />
  13 + <uses-permission android:name="android.permission.READ_MEDIA_AUDIO" />
  14 + <uses-permission android:name="android.permission.READ_MEDIA_VIDEO" />
  15 + <uses-permission
  16 + android:name="android.permission.READ_EXTERNAL_STORAGE"
  17 + android:maxSdkVersion="32" />
13 18 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <!-- //网络权限,当禁用后,无法进行检索等相关业务 -->
14 19 <uses-permission android:name="android.permission.INTERNET" /> <!-- //读取设备硬件信息,统计数据 -->
15 20 <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <!-- //读取系统信息,包含系统版本等信息,用作统计 -->
... ...
moudle_pedometer/src/main/java/com/cnlive/moudle/collectionTrace/ui/activity/CollPedometerMainActivity.java
... ... @@ -131,20 +131,25 @@ public class CollPedometerMainActivity extends QMUIFragmentActivity {
131 131 */
132 132 public void getPermissionsWithTip() {
133 133 String[] permissions = null;
134   - if (android.os.Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) {
135   - permissions = new String[]{Manifest.permission.READ_EXTERNAL_STORAGE,
  134 + if (android.os.Build.VERSION.SDK_INT < 29) {
  135 + permissions = new String[]{
  136 + Manifest.permission.READ_EXTERNAL_STORAGE,
136 137 Manifest.permission.WRITE_EXTERNAL_STORAGE,
137 138 Manifest.permission.ACCESS_FINE_LOCATION,
138 139 Manifest.permission.ACCESS_COARSE_LOCATION};
139   - } else if (android.os.Build.VERSION.SDK_INT < Build.VERSION_CODES.S) {
140   - permissions = new String[]{Manifest.permission.READ_EXTERNAL_STORAGE,
  140 + } else if (android.os.Build.VERSION.SDK_INT < 33) {
  141 + permissions = new String[]{
  142 + Manifest.permission.READ_EXTERNAL_STORAGE,
141 143 Manifest.permission.WRITE_EXTERNAL_STORAGE,
142 144 Manifest.permission.ACCESS_FINE_LOCATION,
143 145 Manifest.permission.ACCESS_COARSE_LOCATION,
144 146 Manifest.permission.ACCESS_BACKGROUND_LOCATION,
145 147 Manifest.permission.ACTIVITY_RECOGNITION};
146 148 } else {
147   - permissions = new String[]{Manifest.permission.READ_EXTERNAL_STORAGE,
  149 + permissions = new String[]{
  150 + Manifest.permission.READ_MEDIA_IMAGES,
  151 + Manifest.permission.READ_MEDIA_AUDIO,
  152 + Manifest.permission.READ_MEDIA_VIDEO,
148 153 Manifest.permission.WRITE_EXTERNAL_STORAGE,
149 154 Manifest.permission.ACCESS_FINE_LOCATION,
150 155 Manifest.permission.ACCESS_COARSE_LOCATION,
... ...
moudle_pedometer/src/main/java/com/cnlive/moudle/collectionTrace/ui/activity/StartCollectTraceActivity.java
... ... @@ -107,20 +107,25 @@ public class StartCollectTraceActivity extends QMUIFragmentActivity {
107 107 return;
108 108 }
109 109 String[] permissions = null;
110   - if (android.os.Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) {
111   - permissions = new String[]{Manifest.permission.READ_EXTERNAL_STORAGE,
  110 + if (android.os.Build.VERSION.SDK_INT < 29) {
  111 + permissions = new String[]{
  112 + Manifest.permission.READ_EXTERNAL_STORAGE,
112 113 Manifest.permission.WRITE_EXTERNAL_STORAGE,
113 114 Manifest.permission.ACCESS_FINE_LOCATION,
114 115 Manifest.permission.ACCESS_COARSE_LOCATION};
115   - } else if (android.os.Build.VERSION.SDK_INT < Build.VERSION_CODES.S) {
116   - permissions = new String[]{Manifest.permission.READ_EXTERNAL_STORAGE,
  116 + } else if (android.os.Build.VERSION.SDK_INT < 33) {
  117 + permissions = new String[]{
  118 + Manifest.permission.READ_EXTERNAL_STORAGE,
117 119 Manifest.permission.WRITE_EXTERNAL_STORAGE,
118 120 Manifest.permission.ACCESS_FINE_LOCATION,
119 121 Manifest.permission.ACCESS_COARSE_LOCATION,
120 122 Manifest.permission.ACCESS_BACKGROUND_LOCATION,
121 123 Manifest.permission.ACTIVITY_RECOGNITION};
122 124 } else {
123   - permissions = new String[]{Manifest.permission.READ_EXTERNAL_STORAGE,
  125 + permissions = new String[]{
  126 + Manifest.permission.READ_MEDIA_IMAGES,
  127 + Manifest.permission.READ_MEDIA_AUDIO,
  128 + Manifest.permission.READ_MEDIA_VIDEO,
124 129 Manifest.permission.WRITE_EXTERNAL_STORAGE,
125 130 Manifest.permission.ACCESS_FINE_LOCATION,
126 131 Manifest.permission.ACCESS_COARSE_LOCATION,
... ...
moudle_pedometer/src/main/java/com/cnlive/moudle/pedometer/ui/activity/RunRaceDetailActivity.java
... ... @@ -230,20 +230,25 @@ public class RunRaceDetailActivity extends QMUIFragmentActivity {
230 230 return;
231 231 }
232 232 String[] permissions = null;
233   - if (android.os.Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) {
234   - permissions = new String[]{Manifest.permission.READ_EXTERNAL_STORAGE,
  233 + if (android.os.Build.VERSION.SDK_INT < 29) {
  234 + permissions = new String[]{
  235 + Manifest.permission.READ_EXTERNAL_STORAGE,
235 236 Manifest.permission.WRITE_EXTERNAL_STORAGE,
236 237 Manifest.permission.ACCESS_FINE_LOCATION,
237 238 Manifest.permission.ACCESS_COARSE_LOCATION};
238   - } else if (android.os.Build.VERSION.SDK_INT < Build.VERSION_CODES.S) {
239   - permissions = new String[]{Manifest.permission.READ_EXTERNAL_STORAGE,
  239 + } else if (android.os.Build.VERSION.SDK_INT < 33) {
  240 + permissions = new String[]{
  241 + Manifest.permission.READ_EXTERNAL_STORAGE,
240 242 Manifest.permission.WRITE_EXTERNAL_STORAGE,
241 243 Manifest.permission.ACCESS_FINE_LOCATION,
242 244 Manifest.permission.ACCESS_COARSE_LOCATION,
243 245 Manifest.permission.ACCESS_BACKGROUND_LOCATION,
244 246 Manifest.permission.ACTIVITY_RECOGNITION};
245 247 } else {
246   - permissions = new String[]{Manifest.permission.READ_EXTERNAL_STORAGE,
  248 + permissions = new String[]{
  249 + Manifest.permission.READ_MEDIA_IMAGES,
  250 + Manifest.permission.READ_MEDIA_AUDIO,
  251 + Manifest.permission.READ_MEDIA_VIDEO,
247 252 Manifest.permission.WRITE_EXTERNAL_STORAGE,
248 253 Manifest.permission.ACCESS_FINE_LOCATION,
249 254 Manifest.permission.ACCESS_COARSE_LOCATION,
... ...
moudle_pedometer/src/main/java/com/cnlive/moudle/pedometer/ui/activity/ShareRecordActivity.java
... ... @@ -7,6 +7,8 @@ import android.content.Intent;
7 7 import android.content.SharedPreferences;
8 8 import android.graphics.Bitmap;
9 9 import androidx.appcompat.app.AppCompatActivity;
  10 +
  11 +import android.os.Build;
10 12 import android.os.Bundle;
11 13 import android.text.Editable;
12 14 import android.text.TextWatcher;
... ... @@ -187,8 +189,15 @@ public class ShareRecordActivity extends AppCompatActivity {
187 189 .withActivity(this)
188 190 .getPermissions(this
189 191 , 100
190   - , Manifest.permission.WRITE_EXTERNAL_STORAGE
191   - , Manifest.permission.READ_EXTERNAL_STORAGE
  192 + , Build.VERSION.SDK_INT >= 33 ?
  193 + new String[]{
  194 + Manifest.permission.READ_MEDIA_IMAGES,
  195 + Manifest.permission.READ_MEDIA_AUDIO,
  196 + Manifest.permission.READ_MEDIA_VIDEO,
  197 + Manifest.permission.WRITE_EXTERNAL_STORAGE} :
  198 + new String[]{
  199 + Manifest.permission.READ_EXTERNAL_STORAGE,
  200 + Manifest.permission.WRITE_EXTERNAL_STORAGE}
192 201 );
193 202 }
194 203 }
... ...