Commit 855a674be47c3115ab55df0e5f302f20370018af
1 parent
ee18f83d
1.Android 13 存储权限适配
Showing
7 changed files
with
51 additions
and
22 deletions
build.gradle
| @@ -45,10 +45,10 @@ ext { | @@ -45,10 +45,10 @@ ext { | ||
| 45 | versionCode = versionMajor * 1000 + versionMinor * 100 + versionPatch * 10 + versionBuild | 45 | versionCode = versionMajor * 1000 + versionMinor * 100 + versionPatch * 10 + versionBuild |
| 46 | versionName = "${versionMajor}.${versionMinor}.${versionPatch}.${versionBuild}" | 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 | minSdkVersion = 19 | 50 | minSdkVersion = 19 |
| 51 | - targetSdkVersion = 31 | 51 | + targetSdkVersion = 33 |
| 52 | 52 | ||
| 53 | libNewMediaPicker = '1.0.1.8' | 53 | libNewMediaPicker = '1.0.1.8' |
| 54 | appArch = '1.3.6.2-androidx-beta1' | 54 | appArch = '1.3.6.2-androidx-beta1' |
config.gradle
moudle_pedometer/src/main/AndroidManifest.xml
| @@ -9,7 +9,12 @@ | @@ -9,7 +9,12 @@ | ||
| 9 | <uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS" /> <!-- 计歩需要的权限 --> | 9 | <uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS" /> <!-- 计歩需要的权限 --> |
| 10 | <uses-permission android:name="android.permission.VIBRATE" /> | 10 | <uses-permission android:name="android.permission.VIBRATE" /> |
| 11 | <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> | 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 | <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <!-- //网络权限,当禁用后,无法进行检索等相关业务 --> | 18 | <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <!-- //网络权限,当禁用后,无法进行检索等相关业务 --> |
| 14 | <uses-permission android:name="android.permission.INTERNET" /> <!-- //读取设备硬件信息,统计数据 --> | 19 | <uses-permission android:name="android.permission.INTERNET" /> <!-- //读取设备硬件信息,统计数据 --> |
| 15 | <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <!-- //读取系统信息,包含系统版本等信息,用作统计 --> | 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,20 +131,25 @@ public class CollPedometerMainActivity extends QMUIFragmentActivity { | ||
| 131 | */ | 131 | */ |
| 132 | public void getPermissionsWithTip() { | 132 | public void getPermissionsWithTip() { |
| 133 | String[] permissions = null; | 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 | Manifest.permission.WRITE_EXTERNAL_STORAGE, | 137 | Manifest.permission.WRITE_EXTERNAL_STORAGE, |
| 137 | Manifest.permission.ACCESS_FINE_LOCATION, | 138 | Manifest.permission.ACCESS_FINE_LOCATION, |
| 138 | Manifest.permission.ACCESS_COARSE_LOCATION}; | 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 | Manifest.permission.WRITE_EXTERNAL_STORAGE, | 143 | Manifest.permission.WRITE_EXTERNAL_STORAGE, |
| 142 | Manifest.permission.ACCESS_FINE_LOCATION, | 144 | Manifest.permission.ACCESS_FINE_LOCATION, |
| 143 | Manifest.permission.ACCESS_COARSE_LOCATION, | 145 | Manifest.permission.ACCESS_COARSE_LOCATION, |
| 144 | Manifest.permission.ACCESS_BACKGROUND_LOCATION, | 146 | Manifest.permission.ACCESS_BACKGROUND_LOCATION, |
| 145 | Manifest.permission.ACTIVITY_RECOGNITION}; | 147 | Manifest.permission.ACTIVITY_RECOGNITION}; |
| 146 | } else { | 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 | Manifest.permission.WRITE_EXTERNAL_STORAGE, | 153 | Manifest.permission.WRITE_EXTERNAL_STORAGE, |
| 149 | Manifest.permission.ACCESS_FINE_LOCATION, | 154 | Manifest.permission.ACCESS_FINE_LOCATION, |
| 150 | Manifest.permission.ACCESS_COARSE_LOCATION, | 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,20 +107,25 @@ public class StartCollectTraceActivity extends QMUIFragmentActivity { | ||
| 107 | return; | 107 | return; |
| 108 | } | 108 | } |
| 109 | String[] permissions = null; | 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 | Manifest.permission.WRITE_EXTERNAL_STORAGE, | 113 | Manifest.permission.WRITE_EXTERNAL_STORAGE, |
| 113 | Manifest.permission.ACCESS_FINE_LOCATION, | 114 | Manifest.permission.ACCESS_FINE_LOCATION, |
| 114 | Manifest.permission.ACCESS_COARSE_LOCATION}; | 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 | Manifest.permission.WRITE_EXTERNAL_STORAGE, | 119 | Manifest.permission.WRITE_EXTERNAL_STORAGE, |
| 118 | Manifest.permission.ACCESS_FINE_LOCATION, | 120 | Manifest.permission.ACCESS_FINE_LOCATION, |
| 119 | Manifest.permission.ACCESS_COARSE_LOCATION, | 121 | Manifest.permission.ACCESS_COARSE_LOCATION, |
| 120 | Manifest.permission.ACCESS_BACKGROUND_LOCATION, | 122 | Manifest.permission.ACCESS_BACKGROUND_LOCATION, |
| 121 | Manifest.permission.ACTIVITY_RECOGNITION}; | 123 | Manifest.permission.ACTIVITY_RECOGNITION}; |
| 122 | } else { | 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 | Manifest.permission.WRITE_EXTERNAL_STORAGE, | 129 | Manifest.permission.WRITE_EXTERNAL_STORAGE, |
| 125 | Manifest.permission.ACCESS_FINE_LOCATION, | 130 | Manifest.permission.ACCESS_FINE_LOCATION, |
| 126 | Manifest.permission.ACCESS_COARSE_LOCATION, | 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,20 +230,25 @@ public class RunRaceDetailActivity extends QMUIFragmentActivity { | ||
| 230 | return; | 230 | return; |
| 231 | } | 231 | } |
| 232 | String[] permissions = null; | 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 | Manifest.permission.WRITE_EXTERNAL_STORAGE, | 236 | Manifest.permission.WRITE_EXTERNAL_STORAGE, |
| 236 | Manifest.permission.ACCESS_FINE_LOCATION, | 237 | Manifest.permission.ACCESS_FINE_LOCATION, |
| 237 | Manifest.permission.ACCESS_COARSE_LOCATION}; | 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 | Manifest.permission.WRITE_EXTERNAL_STORAGE, | 242 | Manifest.permission.WRITE_EXTERNAL_STORAGE, |
| 241 | Manifest.permission.ACCESS_FINE_LOCATION, | 243 | Manifest.permission.ACCESS_FINE_LOCATION, |
| 242 | Manifest.permission.ACCESS_COARSE_LOCATION, | 244 | Manifest.permission.ACCESS_COARSE_LOCATION, |
| 243 | Manifest.permission.ACCESS_BACKGROUND_LOCATION, | 245 | Manifest.permission.ACCESS_BACKGROUND_LOCATION, |
| 244 | Manifest.permission.ACTIVITY_RECOGNITION}; | 246 | Manifest.permission.ACTIVITY_RECOGNITION}; |
| 245 | } else { | 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 | Manifest.permission.WRITE_EXTERNAL_STORAGE, | 252 | Manifest.permission.WRITE_EXTERNAL_STORAGE, |
| 248 | Manifest.permission.ACCESS_FINE_LOCATION, | 253 | Manifest.permission.ACCESS_FINE_LOCATION, |
| 249 | Manifest.permission.ACCESS_COARSE_LOCATION, | 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,6 +7,8 @@ import android.content.Intent; | ||
| 7 | import android.content.SharedPreferences; | 7 | import android.content.SharedPreferences; |
| 8 | import android.graphics.Bitmap; | 8 | import android.graphics.Bitmap; |
| 9 | import androidx.appcompat.app.AppCompatActivity; | 9 | import androidx.appcompat.app.AppCompatActivity; |
| 10 | + | ||
| 11 | +import android.os.Build; | ||
| 10 | import android.os.Bundle; | 12 | import android.os.Bundle; |
| 11 | import android.text.Editable; | 13 | import android.text.Editable; |
| 12 | import android.text.TextWatcher; | 14 | import android.text.TextWatcher; |
| @@ -187,8 +189,15 @@ public class ShareRecordActivity extends AppCompatActivity { | @@ -187,8 +189,15 @@ public class ShareRecordActivity extends AppCompatActivity { | ||
| 187 | .withActivity(this) | 189 | .withActivity(this) |
| 188 | .getPermissions(this | 190 | .getPermissions(this |
| 189 | , 100 | 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 | } |