如何发布更新时,我的应用程序将收到意向Dashclock?(How do I publish an

2019-07-22 15:03发布

我添加了一个位置接近以后使用Android的addProximityAlert在方法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类。 这应该是可能的,但不知何故,我似乎无法弄清楚如何。 我如何能做到这一点任何想法?

Answer 1:

由于推广服务必须发出publishUpdate通话时,您的接近触发广播接收机应该使用类似广播或事件总线问扩展到发布更新。

如果扩展未初始化,这意味着用户没有添加,或DashClock没有运行,那么什么都不会发生,这是预期和正确的行为。 只要DashClock开始并添加您的扩展, onUpdateData将被调用,你就可以发布您的更新。

有关可以使用的实际类的一些想法,见下图:

  • 全球广播 ,使用Context.sendBroadcast在你的动态注册的广播接收器沿DashClockExtension使用Context.registerReceiver 。

  • 本地广播 ,使用LocalBroadcastManager 。

  • 奥托或EventBus ,可以让应用程序组件发布和订阅事件的两个框架。 在这种情况下,延长订阅和你接近传感器发布。

全球广播的完整的代码片段中可以找到问题292的DashClock项目页面上。



文章来源: How do I publish an update to Dashclock when my application receives an Intent?