标签: dashclock

Dashclock Widget扩展未更新

我有一个DashClockExtension有时不更新.

它使用LocalBroadcastReceiver更新类似于http://bit.ly/1e4uMl0的扩展名.接收方在onInitialize()方法中注册:

@Override
    protected void onInitialize(boolean isReconnect) {
        super.onInitialize(isReconnect);

        LocalBroadcastManager broadcastMgr = LocalBroadcastManager.getInstance(this);
        if (mDashClockReceiver != null) {
            try {
                broadcastMgr.unregisterReceiver(mDashClockReceiver);
            } catch (Exception ignore) {}
        }
        mDashClockReceiver = new DashClockUpdateReceiver();
        broadcastMgr.registerReceiver(mDashClockReceiver, new IntentFilter(UPDATE_DASHCLOCK));
    }
Run Code Online (Sandbox Code Playgroud)

这就是我发送广播的方式:

public static void updateDashClock() {
    LocalBroadcastManager.getInstance(Application.getContext()).sendBroadcast(new Intent(UPDATE_DASHCLOCK));
}        
Run Code Online (Sandbox Code Playgroud)

这是我的BroadcastReceiver:

private class DashClockUpdateReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        retrieveDataAndUpdateWidget();
    }
}
Run Code Online (Sandbox Code Playgroud)

我注意到,当广播被触发时,接收器有时不会收到该事件.
我通过杀死我的应用程序来测试它,但这不会重现问题,所以我不知道为什么会发生这种情况.

任何人?

android broadcastreceiver dashclock

6
推荐指数
1
解决办法
1142
查看次数

当我的应用程序收到Intent时,如何向Dashclock发布更新?

我之后addProximityAlertLocationManager课堂上使用Android的方法添加了位置接近度.

当用户的手机是特定区域时,会LocationManagerIntent我的应用程序发送一个BroadcastReciver,这里是处理意图的类:

public class ProximityTrigger extends BroadcastReceiver {

    @Override
    public void onReceive(Context ctxContext, Intent ittIntent) {            
        System.out.println(ittIntent.getIntExtra(WidgetService.KEY_STOP_IDENTIFIER, -1));               
    }

}
Run Code Online (Sandbox Code Playgroud)

我想在发生这种情况时使用DashClock API来显示更新.DashClock有一个publishUpdate可用于显示更新的方法,但我只能在扩展类的扩展类中使用它DashClock.这应该是某种可能的,但我似乎无法弄清楚如何.关于如何实现这一目标的任何想法?

java android android-intent dashclock

1
推荐指数
1
解决办法
617
查看次数