追加情報を入れることを目的にサービスを開始しています。
サービスのコードでインテントを取得するにはどうすればよいですか?
アクティビティのようなサービスにはgetIntent().getExtras()
のような関数はありません。
onStart()
をオーバーライドします-パラメータとしてIntent
を受け取ります。
onStart()
は非推奨になりました。代わりに onStartCommand(Intent, int, int)
を使用してください。
エクストラを渡すには:
Intent intent = new Intent(this, MyService.class);
intent.putExtra(MyService.NAME, name);
...
startService(intent);
サービスの追加情報を取得するには:
public class MyService extends Service {
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
super.onStartCommand(intent, flags, startId);
String name = intent.getExtras().getString(NAME);
...
}
...
}