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();

サービスを実行する別のアクティビティがあります..問題は、アプリを実行すると、サービスから受信者に送信するdtataがnullになることです。

助けてくれてありがとう

4

2 に答える 2

0

インテント エクストラについては、緯度と経度を永続的なストレージに格納し、ブロードキャストを受信したときにストレージからそれらを取得する必要があると思います。

于 2012-12-19T11:13:19.903 に答える
0

Service 通信でLocalBroadcastManagerを使用できます。

サービスでは、次の例のようにローカル ブロードキャストを介して情報を送信します: LocalBroadCastExample

于 2012-12-19T11:15:40.657 に答える