Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 安卓警报管理器_Android_Android Intent_Alarmmanager - Fatal编程技术网

Android 安卓警报管理器

Android 安卓警报管理器,android,android-intent,alarmmanager,Android,Android Intent,Alarmmanager,我正在尝试创建将使用alarmmanager设置的意图。目前,我只需要一个目的就可以做到这一点,向其中添加额外的数据(字符串,但我使用分隔符将它们作为一个字符串发送),然后一切正常,并在正确的时间运行。但是,当我尝试发送多个这样的意图时,它们会被覆盖,并且只有一个在正确的时间发出。我如何组织我的意图,使它们在alarmmanager中看起来不同(我认为它们在运行filterIntent()时被删除) 长话短说-putExtra()使所有的意图看起来仍然一样。。。如何使它们看起来不一样,从而不会被

我正在尝试创建将使用alarmmanager设置的意图。目前,我只需要一个目的就可以做到这一点,向其中添加额外的数据(字符串,但我使用分隔符将它们作为一个字符串发送),然后一切正常,并在正确的时间运行。但是,当我尝试发送多个这样的意图时,它们会被覆盖,并且只有一个在正确的时间发出。我如何组织我的意图,使它们在alarmmanager中看起来不同(我认为它们在运行filterIntent()时被删除)


长话短说-putExtra()使所有的意图看起来仍然一样。。。如何使它们看起来不一样,从而不会被删除(并跟踪它们,以防我要删除特定的小部件)

这就是我为我的小部件安排更新的方式。每个小部件都允许是唯一的,因为它们有一个唯一的小部件id号

Intent widgetUpdate = new Intent();
widgetUpdate.setAction(AppWidgetManager.ACTION_APPWIDGET_UPDATE);
widgetUpdate.putExtra(AppWidgetManager.EXTRA_APPWIDGET_IDS, new int[] { appWidgetId });
widgetUpdate.putExtra(EXTRA_POSITION,0);
widgetUpdate.putExtra(EXTRA_URL, URL);
// make this pending intent unique by adding a scheme to it
widgetUpdate.setData(Uri.withAppendedPath(Uri.parse(URI_SCHEME + "://widget/id/"), String.valueOf(appWidgetId)));
PendingIntent newPending = PendingIntent.getBroadcast(context, 0, widgetUpdate, PendingIntent.FLAG_UPDATE_CURRENT);
// schedule the updating
AlarmManager alarms = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
alarms.setRepeating(AlarmManager.ELAPSED_REALTIME, SystemClock.elapsedRealtime(), updateRateSeconds * 1000, newPending);

根据文档,
AlarmManager
检查两个
意图是否等效。查看
filterEquals()
的文档,了解它如何决定两个
Intent
s是否相等。而且,chris324的解决方案是一个非常好的解决方案。

那么如何检索数据呢?