广播接收器和小部件时区

时间:2012-03-05 12:44:14

标签: android android-widget broadcastreceiver alarmmanager

我使用Broadcast Receiver,WidgetProvider和Configure Activity。活动在创建窗口小部件期间开始。小部件每20秒更新一次。

  private PendingIntent service = null; 
   Intent intent = new Intent(context, AlarmReceiver.class);
       if (service == null) {
        service = PendingIntent.getBroadcast(context, 0, intent,
                PendingIntent.FLAG_UPDATE_CURRENT);
    }
        m.setRepeating(AlarmManager.RTC, TIME.getTime().getTime(), 1000 * 20,
            service);

当我在手机上更改时间或时区时,我想更新小部件。当我改变时间时,窗口小部件会更新。但是当我改变时间时,没有任何反应。 我已经加入了清单

        <receiver android:name=".AlarmReceiver" >
        <intent-filter>
            <action android:name="android.intent.ACTION_TIMEZONE_CHANGED" />
            <action android:name="android.intent.ACTION_TIME" />
        </intent-filter>
    </receiver>

在广播接收器中我正在更新小部件。

1 个答案:

答案 0 :(得分:0)

请参阅 http://developer.android.com/reference/android/content/Intent.html#ACTION_TIMEZONE_CHANGED

他们应该

<action android:name="android.intent.action.TIMEZONE_CHANGED" />
<action android:name="android.intent.action.TIME_SET" />