BroadcastReceiverからServiceに次のようにインテントを送信します。
Intent intent = new Intent(context,MessageService.class);
String value = "String you want to pass";
String name = "data";
intent.putExtra(name, value);
context.startService(intent);
サービス方法の受信者の意図onStartCommand
:
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
Toast.makeText(this, "service starting", Toast.LENGTH_SHORT).show();
if (intent.getStringExtra("data") != null) {
{
String str=intent.getStringExtra("data");//get data here sended from BroadcastReceiver
}
return super.onStartCommand(intent,flags,startId);
}
ServiceとBroadcastReceiver間の通信方法については、この投稿を参照してください