Android widget - 应用程序强制停止时再次绑定(bind)服务

标签 android service widget bind

这是我对我的小部件和主要应用程序的简短描述。对不起,因为我的英语(英语不是我的母语)

我有一个音乐播放器小部件。启用此小部件后,我需要绑定(bind)到主应用程序的音乐播放器服务 (A)。因为我们无法在 AppWidgetProvider 中绑定(bind)服务,所以我在 AppWidgetProvider 中启动本地服务 (B) 并从此处绑定(bind)到该音乐播放器服务 (A)。此外,我还有一个服务 C 来执行小部件的按钮功能。

一切似乎都工作正常但是当我的主应用程序服务 A 全部强制停止时(他们将在稍后重新启动)我必须从小部件重新绑定(bind)到 A。问题是当主应用程序被迫停止时,我无法重新绑定(bind)到 A,因为上下文(每当我从 onEnabled、onUpdate 接收到上下文时,我将 Context 作为全局变量存储在 AppWidgetProvider 中)为 NULL。

我的问题是我上面的小部件结构怎么样?绑定(bind)到 A 后服务 B 应该停止吗?当主应用程序和服务 a 被强制停止时,我如何再次绑定(bind)到服务 A(但它们会在片刻后自动重启)。

谢谢!

最佳答案

回答我自己的问题

  1. 首先,我们可以使用 context.getApplicationContext().bindService(..)
  2. 从小部件绑定(bind)服务
  3. 当主应用程序被迫停止时,在 onUpdate() 上再次绑定(bind)服务使用应用程序上下文 MyMainApplication.Instance().getApplicationContext().bindService(..)

关于Android widget - 应用程序强制停止时再次绑定(bind)服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8612367/

相关文章:

javascript - JSONP 与 IFrame?

android - 使用 Android 简单访问 w\Read&Write 到 XML 文件

android - 荒谬的 Activity 行为

service - 这是服务的实际用途吗?

html - 如何在 GWT 中的 HTML 小部件内的链接上捕获点击事件?

flash - 最佳 Flash 上传小部件

Android:无论如何都可以通过javascript控制音量

android - 如何使用 facebook-id 安全登录到我的 android 应用程序?

Android:两个独立APK的两个服务之间的通信

authentication - 除非启用 SSL 调试,否则 Web 服务 SSL 握手在生产环境中失败