我请求使用我的应用程序中的处理程序进行跟踪透明许可:
Future<void> main() async {
WidgetsFlutterBinding.ensureInitialized();
Map<Permission, PermissionStatus> statuses = await [
Permission.photosAddOnly,
Permission.camera,
Permission.microphone,
Permission.appTrackingTransparency,
].request();
runApp(const MyApp());
}除appTrackingTransparency对话框外,将显示所有权限对话框。
,为什么它不出现?
颤振医生
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.3.7, on macOS 13.0 22A380 darwin-x64, locale en-IL)
[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
[✓] Xcode - develop for iOS and macOS (Xcode 14.1)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2021.2)
[✓] VS Code (version 1.73.1)
[✓] Connected device (4 available)
[✓] HTTP Host Availability设备版本:iOS 15.2.1
permission_handler:10.0.0
发布于 2022-11-29 15:12:14
我决定使用透明度。但对话仍然没有出现。
据这个职位说,在阅读了有关快速解决方案的文章之后,在对话框之间添加了一个小延迟似乎解决了这个问题。
Future<void> main() async {
WidgetsFlutterBinding.ensureInitialized();
await [
Permission.photosAddOnly,
Permission.camera,
Permission.microphone,
].request();
/// Getting permission for appTrackingTransparency required a delay between prompts.
if (await AppTrackingTransparency.trackingAuthorizationStatus ==
TrackingStatus.notDetermined) {
await Future.delayed(const Duration(seconds: 2));
await AppTrackingTransparency.requestTrackingAuthorization();
}
runApp(const MyApp());
}注意:我不知道为什么,但它只适用于app_tracking_transparency包,而不适用于permission_handler包。
仍然在寻找一个更好的解决方案,使用permission_handler包,它不会延迟应用程序加载时间。
https://stackoverflow.com/questions/74615151
复制相似问题