Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.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 安卓:警报';s BoradcastReceiver类从意图对象中获取错误的额外整数_Android_Android Intent_Android Alarms - Fatal编程技术网

Android 安卓:警报';s BoradcastReceiver类从意图对象中获取错误的额外整数

Android 安卓:警报';s BoradcastReceiver类从意图对象中获取错误的额外整数,android,android-intent,android-alarms,Android,Android Intent,Android Alarms,我正在开发一个有3个按钮的应用程序。例如,按钮1用于5分钟,按钮2用于10分钟,按钮3用于15分钟 当用户单击其中一个按钮时,我设置该时间的报警。我使用OneShotAlarm.class作为报警的广播接收器。我将报警时间(5、10或15分钟)设置为触发报警,如 Intent alarm_intent = new Intent(context, OneShotAlarm.class); alarm_intent.putExtra(SNOOZE_TIME, 5); 我正试图在OneShotAla

我正在开发一个有3个按钮的应用程序。例如,按钮1用于5分钟,按钮2用于10分钟,按钮3用于15分钟

当用户单击其中一个按钮时,我设置该时间的报警。我使用
OneShotAlarm.class
作为报警的广播接收器。我将报警时间(5、10或15分钟)设置为触发报警,如

Intent alarm_intent = new Intent(context, OneShotAlarm.class);
alarm_intent.putExtra(SNOOZE_TIME, 5);
我正试图在OneShotAlarm.class中检索这个,但不知怎么的,不管我在设置报警时的意图是什么,它都会一直在那里取5

虽然所有选项都会在正确的时间正确触发报警,但我没有从intent的Integer extra中正确获取
OnShotAlarm.class
中的值

我对所有报警使用相同的报警请求代码,但每次设置报警时都会创建新对象

希望,我已经澄清了这个问题。请帮我指出我遗漏了什么

编辑:


我忘了指定这三个按钮在一个小部件中,我使用broadvcast接收器捕捉它们的点击。很抱歉,当您试图帮助我时给我带来不便

我在小部件中使用了这三个按钮。我忘了在我的问题中指定,对不起

我的代码中没有问题,这是正确的。但是我过去用来调用BroadcastReceiver来捕捉小部件按钮的点击,有一个小问题

我在WidgetProvider类的onUpdate()中使用了这些行

receiver = new Intent(context, ClickCounterWidgetReceiver.class);
receiver.setAction("SET_SNOOZE");
receiver.putExtra(AppWidgetManager.EXTRA_APPWIDGET_IDS, appWidgetIds);                
pendingIntent = PendingIntent.getBroadcast(context, 0, receiver, 0);
将行更改为以下行解决了问题:

pendingIntent = PendingIntent.getBroadcast(context, 0, receiver, PendingIntent.FLAG_UPDATE_CURRENT);

你能在闹钟上为设定时间张贴按钮选择代码吗?可能问题在于对你的等待意图使用相同的请求代码。一周前我自己刚刚解决了这个问题。您需要使用不同的请求代码,否则Android将重用您的挂起意图,而不会更改它们。@Egor:谢谢您的响应。实际上,我在一个小部件中使用了这个按钮,做了一点小小的更改,它就工作了。相同的请求代码不是问题!:)@希拉尔,不客气!如果我帮了你,我会很高兴的@user370305:谢谢您的回复,我能够解决它。请阅读我的答案!这是一件愚蠢的事P