每分钟触发广播。我的广播Intent过滤器仅具有android.intent.action.TIME_SET过滤器,并且已在运行时注册。
在上述平台上运行的所有设备上均未观察到此问题。只有少数几套设备。
这是一个已知的AOSP错误,还是有任何解决方法?
我的要求是,每当用户手动更改时间并关闭“日期和时间”自动更新功能时,都应呼叫广播
答案 0 :(得分:0)
是的,我有同样的问题,但是它不能在三星中使用,并且不能与其他手机配合使用,实际上我通过不依赖于广播执行AlarmManager并从中发送广播来解决了这一问题,您可以做到使用yourService.startAlarm()
在后台服务中 public void startAlarm()
{
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.MILLISECOND, INTERVAL_MILLIS);
Log.e("AlarmWidget","Started");
Intent alarmIntent = new Intent(AqiWidgetProvider.ACTION_AUTO_UPDATE);
PendingIntent pendingIntent = PendingIntent.getBroadcast(mContext, ALARM_ID, alarmIntent, PendingIntent.FLAG_CANCEL_CURRENT);
AlarmManager alarmManager = (AlarmManager) mContext.getSystemService(Context.ALARM_SERVICE);
// RTC does not wake the device up
alarmManager.setRepeating(AlarmManager.RTC, calendar.getTimeInMillis(), INTERVAL_MILLIS, pendingIntent);
}
public void stopAlarm()
{
Intent alarmIntent = new Intent(AqiWidgetProvider.ACTION_AUTO_UPDATE);
PendingIntent pendingIntent = PendingIntent.getBroadcast(mContext, ALARM_ID, alarmIntent, PendingIntent.FLAG_CANCEL_CURRENT);
AlarmManager alarmManager = (AlarmManager) mContext.getSystemService(Context.ALARM_SERVICE);
alarmManager.cancel(pendingIntent);
}