如何解决断开发送方投射设备的连接后,如何让我的 Android 电视应用继续运行?
旁注:这个问题本质上类似于例如Leave receiver running after sender stop ,尽管我在我的代码中找不到任何提及 stop
或 stopApplication
的内容。此外,虽然存在类似的问题,但它们通常会提供死链接,并且通常不会专门针对 android 电视接收器应用程序。
场景
- Android 设备 A 开始投射到 Android TV。这会导致 Android TV 应用作为接收器应用启动(请参阅 https://developers.google.com/cast/docs/android_tv_receiver)。
- Android 设备 B 连接到同一台 Android TV,加入现有会话
- B 断开连接(投射按钮 ->“停止投射”)
我想要发生的事情
- 接收端 (tv)
onSenderDisconnected
只应为 B 调用 - Android TV 应用应保持运行
实际发生了什么
- 接收方 (tv)
onSenderDisconnected
被 A 和 B 调用 - Android TV 应用已关闭
问题
- 为什么所有发件人应用程序都断开连接,而一旦单个发件人断开连接,Android TV 应用程序就会关闭?
- 如何在发送方断开连接后让 Android TV 应用程序继续运行?
解决方法
我刚刚在我的应用中实现了这个功能,你有没有尝试做这样的事情?
在您的 Application
类中:
CastReceiverContext.getInstance().registerEventCallback(object: CastReceiverContext.EventCallback() {
override fun onSenderConnected(info: SenderInfo) {
setupPlayerData()
}
override fun onSenderDisconnected(eventInfo: SenderDisconnectedEventInfo) {
val intent = Intent(this@FooApplication,CastLauncherActivity::class.java).apply {
flags = Intent.FLAG_ACTIVITY_CLEAR_TASK or Intent.FLAG_ACTIVITY_NEW_TASK
}
startActivity(intent)
}
})
基本上我在我的应用程序中所做的是打开一个带有投射符号的启动画面。我刚刚检查过,您可以从 Activity
或 onSenderConnected()
onSenderDisconnected
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。