1

我正在尝试将数据从服务发送到接收器这是服务的 onCreate 方法

Intent intent = new Intent(this, MyReceiver.class);
intent.putExtra("latitude", "2");
intent.putExtra("longitude", "3");
PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 0, intent, 0);

AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), 50 * 10000, pendingIntent);

这是接收的 onReceive 方法

Toast.makeText(context, "Repeating Alarm worked. latitude: "+intent.getStringExtra("latitude")+"  longitude "+intent.getStringExtra("latitude"), Toast.LENGTH_LONG).show();

我还有另一个运行服务的活动..问题是当我运行我的应用程序时,我从服务发送到接收器的数据为空。

谢谢你的帮助

4

2 回答 2

0

您可以在服务通信中使用LocalBroadcastManager 。

在您的服务中,您通过本地广播发送信息,如下例所示:LocalBroadCastExample

于 2012-12-19T11:15:40.657 回答
0

对于额外的意图,我认为您应该将纬度和经度放在持久存储中,当您收到广播时,您可以从存储中获取它们。

于 2012-12-19T11:13:19.903 回答