我在项目build.gradle
文件中使用以下参数使用Android Studio 4.0构建了一个应用程序:
minSdkVersion = 21
targetSdkVersion = 29
compileSdkVersion = 29
buildToolsVersion = '29.0.2'
该应用程序使用AudioTrack和AudioRecord从蓝牙麦克风流式传输音频。它还为蓝牙连接使用了前台服务。如here.
所述,我在启动前台服务后的5秒钟内致电了startForeground()
我还在清单文件中包含了ACCESS_BACKGROUND_LOCATION
权限。
该应用程序在Samsung Galaxy S6(API 24)上运行良好。但是,当我在Motorola Moto G7 Power(API 29)上运行相同的应用程序时,它仅在重启手机后才按预期运行。当我尝试在Moto上运行该应用程序时(不是在重启后),该应用程序会在大约20秒后停止录制来自BT麦克风的音频。我没有收到任何错误。即使音频文件为空,BT麦克风仍处于连接状态,并指示此时正在传输数据。
关于该应用为何仅在重启Android 10手机后才能运行的任何线索吗?