我之后使用addProximityAlert
类中的Android LocationManager
方法添加了位置距离。
当用户的手机是特定区域时,LocationManager
会向我的应用程序的Intent
发送BroadcastReciver
,这是处理意图的类:
public class ProximityTrigger extends BroadcastReceiver {
@Override
public void onReceive(Context ctxContext, Intent ittIntent) {
System.out.println(ittIntent.getIntExtra(WidgetService.KEY_STOP_IDENTIFIER, -1));
}
}
我想在发生这种情况时使用DashClock API来显示更新。 DashClock有一个publishUpdate
方法,可用于显示更新,但我只能在扩展DashClock
类的扩展类中使用它。这应该是某种可能的,但我似乎无法弄清楚如何。关于如何实现这一目标的任何想法?
答案 0 :(得分:11)
由于分机服务必须发出publishUpdate电话,您的接近触发广播接收器应使用广播或事件总线之类的内容来要求分机发布更新。
如果未初始化扩展,意味着用户尚未添加或DashClock未运行,则不会发生任何事情,这是预期的正确行为。 DashClock启动并添加您的扩展程序后,系统会立即调用onUpdateData,您就可以发布更新。
有关您可以使用的实际课程的一些想法,请参阅以下内容:
全球广播,使用Context.sendBroadcast以及使用Context.registerReceiver的DashClockExtension
中动态注册的广播接收器。
本地广播,使用LocalBroadcastManager。
可以在DashClock项目页面的issue 292中找到全局广播的完整代码段。