首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >前台MediaBrowserService在应用程序出口时被杀死。

前台MediaBrowserService在应用程序出口时被杀死。
EN

Stack Overflow用户
提问于 2019-03-29 15:40:26
回答 1查看 866关注 0票数 5

我跟踪Android指南在媒体播放器应用程序中使用MediaBrowserServiceCompat,但是在app退出时该服务被销毁。

代码语言:javascript
复制
    <service android:name=".media.PlaybackService">
        <intent-filter>
            <action android:name="android.media.browse.MediaBrowserService" />
        </intent-filter>
    </service>

在应用程序启动服务被正确创建。在按下mediaController.transportControls.play()按钮后,调用会话回调类中的这个onPlay()方法。在onPlay()服务内部启动:context.startService(Intent(context, MediaBrowserServiceCompat::class.java)) ( Oreo和更高版本也尝试了startForegroundService ),并将其设置为前台:this@PlaybackService.startForeground(SERVICE_ID, notificationBuilder?.build())。创建了Oreo高级API的通知通道。

现在启动了通知,我可以通过发出命令看到服务处于前台:

$adb shell虚拟活动服务PlaybackService (.)(.) isForeground=true foregroundId=1 pri=0 contentView=null vibrate=null sound=null defaults=0x0 flags=0x62 color=0xff000000 category=transport actions=1 vis=PUBLIC)

到目前为止,一切正常,但当我按home按钮时,我希望服务仍然启动,但是MediaBrowserServiceCompat类的MediaBrowserServiceCompat方法将被调用。在返回应用程序并再次启动服务之后,它不会被设置为前台(也没有通知)。

我在我的应用程序中使用了唯一的一个startService调用,并删除了对stopSelfstopForeground的每次测试调用。

在API 28、26、22和18上,我得到了相同的结果。

我还尝试从onStartCommand()返回START_STICKY

EN

回答 1

Stack Overflow用户

发布于 2020-12-22 18:38:37

当然,您的MediaBrowser连接是保持MediaBrowserService运行和关闭该连接导致MediaBrowserService被销毁的唯一原因。

在我的例子中,我决定在创建MediaBrowser之前创建服务。

代码语言:javascript
复制
// Create the media browser service
Intent intent = new Intent(application, MusicService.class);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
    context.startForegroundService(intent);
} 
else {
    context.startService(mixerIntent);
}

// Create connection with the service
mediaBrowser = MediaBrowserCompat(
        context,
        ComponentName(requireContext(), MusicService::class.java),
        connectionCallbacks,
        null
)

不要忘记:一旦创建了服务,服务必须在5秒内调用其startForeground方法。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55420923

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档