删除AndroidManifest.xml中的READ_MEDIA_VIDEO权限,并更新view_model_recording中的权限逻辑。dart确保文件保存权限仅适用于Android SDK版本28及以下。添加测试以验证Android 13和未知SDK版本的权限行为。

This commit is contained in:
2026-07-01 12:18:12 +08:00
parent 90e8966528
commit d4c7d7180e
3 changed files with 23 additions and 5 deletions
-1
View File
@@ -10,7 +10,6 @@
<uses-permission android:name="android.permission.ACCESS_NOTIFICATION_POLICY" />
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
<uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS" />
<uses-permission android:name="android.permission.READ_MEDIA_VIDEO" />
<uses-permission
android:name="android.permission.WRITE_EXTERNAL_STORAGE"
android:maxSdkVersion="28" />
@@ -41,10 +41,10 @@ List<Permission> recordingFileSavePermissionsForHost({
return const [];
}
if (isAndroid) {
if (androidSdkInt != null && androidSdkInt >= 29) {
return const [];
if (androidSdkInt != null && androidSdkInt <= 28) {
return [Permission.storage];
}
return [Permission.storage];
return const [];
}
return const [];
}
@@ -411,6 +411,25 @@ void main() {
expect(permissions, isEmpty);
});
test('does not request file save permission on Android 13 and above', () {
final permissions = recordingFileSavePermissionsForHost(
isIOS: false,
isAndroid: true,
androidSdkInt: 33,
);
expect(permissions, isEmpty);
});
test('does not request file save permission when Android SDK is unknown', () {
final permissions = recordingFileSavePermissionsForHost(
isIOS: false,
isAndroid: true,
);
expect(permissions, isEmpty);
});
});
group('RecordingViewModel.getClipboardContent', () {