android - MediaProjection 在 targetSdkVersion 29 时不起作用并关闭应用程序,但适用于 targetSdkVersion 28
问题描述
我是一名颤振开发人员,正在使用这个插件flutter_screen_recording: ^1.1.1开发一个屏幕录制应用程序。将 targetSdkVersion 设置为 28 时效果很好,但 google 的 play store 不支持低于 29。所以我必须将其保持在 29 版本。但问题是当设置为 29 时,我的应用程序关闭并通过以下异常。
原因:java.lang.SecurityException:媒体投影需要 ServiceInfo.FOREGROUND_SERVICE_TYPE_MEDIA_PROJECTION 类型的前台服务
我已经搜索并应用了许多可能的解决方案,但没有得到正确的结果。如果这里有人可以在这方面帮助我,那将对我非常有帮助。十分感谢。
颤振医生
[√] Flutter(Channel stable, 1.22.6, on Microsoft Windows [Version 10.0.19042.867], locale en-US) • Flutter 版本 1.22.6,位于 C:\flutter • 框架修订版 9b2d32b605(3 个月前),2021- 01-22 14:36:39 -0800 • 引擎修订版 75bef9f6c8 • Dart 版本 2.10.1
[√] Android 工具链 - 为 Android 设备开发(Android SDK 版本 29.0.3) • Android SDK 位于 C:\Users\Nayeem\AppData\Local\Android\sdk • 平台 android-30,构建工具 29.0.3 • ANDROID_HOME = C:\Users\Nayeem\AppData\Local\Android\sdk • Java 二进制文件位于:C:\Program Files\Java\jdk-15\bin\java • Java 版本 Java(TM) SE 运行时环境(build 15+36 -1562) • 接受所有Android 许可证。
[!] Android Studio(未安装) • 未找到 Android Studio;从https://developer.android.com/studio/index.html下载 (或访问https://flutter.dev/docs/get-started/install/windows#android-setup了解详细说明)。
[√] VS Code(版本 1.55.1) • C:\Users\Nayeem\AppData\Local\Programs\Microsoft VS Code 的 VS Code • Flutter 扩展版本 3.21.0
[√] 连接设备(1 个可用) • 为 x86 构建的 Android SDK(移动) • emulator-5554 • android-x86 • Android 10 (API 29)(模拟器)
!医生发现 1 类问题。
解决方案
推荐阅读
- mysql - 使用紧凑的 laravel 显示数据
- java - 如何修复 Netbeans 中的“未找到 Log4j 2 配置文件”?
- python - 如何在烧瓶应用程序的索引页面中访问另一个网页?
- sql - 连接两个有时缺少连接值的表
- django - POST HTTP 方法在 Apache 和 Django2 生产中出现 500 内部服务器错误
- php - Laravel 5.5 Unknown database type enum requested Doctrine\DBAL 可能不支持
- android - ClassNotFoundException:找不到类“androidx.navigation.NavController$OnNavigatedListener”
- haskell - Haskell - 投影函数的快速命名
- c# - VS 2019 上的 WPF .NET Core 安装程序
- google-cloud-platform - Cloud Machine Learning Engine 无法部署模型