当我的应用程序收到Intent时,如何向Dashclock发布更新?
我稍后在LocationManager
类中使用Android的addProximityAlert
方法添加了位置接近度。
当用户的电话是特定区域时, LocationManager
向我的应用程序的BroadcastReciver
发送一个Intent
,这里是处理intent的类:
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
类的扩展类中使用它。 这应该是某种可能的,但我似乎无法弄清楚如何。 关于如何实现这一目标的任何想法?
由于扩展服务必须发出publishUpdate调用,因此您的接近触发器广播接收器应使用类似广播或事件总线的内容来请求扩展程序发布更新。
如果未初始化扩展,意味着用户尚未添加或DashClock未运行,则不会发生任何事情,这是预期的正确行为。 DashClock启动并添加扩展后,将立即调用onUpdateData ,您将能够发布更新。
有关您可以使用的实际课程的一些想法,请参阅以下内容:
-
全局广播 ,使用Context.sendBroadcast以及使用Context.registerReceiver在
DashClockExtension
动态注册的广播接收器。 -
本地广播 ,使用LocalBroadcastManager 。
- Otto或EventBus ,两个允许应用程序组件发布和订阅事件的框架。 在这种情况下,扩展程序订阅并且您的接近传感器发布。
可以在DashClock项目页面上的问题292中找到用于全局广播的完整代码片段。
- 如何在Android上实现app子组件的模块化结构?
- Asynctask致命exception
- 如何找到java.rmi包的jar
- java.lang.ArrayIndexOutOfBoundsException:length = 4; index = 4长度数组
- android:text =“@ string / hello”和普通右键单击 – >文本视图组件 – > EditText之间的区别
- 由于缺少java类,Android Studio 3.1无法呈现xml文件
- Android:如何使用计时器
- Java(Android)IOException:在索引7处预期的权限:http://
- JSON,XML连接到Android的web api?