32

追加情報を入れる意図でサービスを開始しています。

サービスのコードでインテントを取得するにはどうすればよいですか?

getIntent().getExtras()活動のようなサービスのような機能はありません。

4

3 に答える 3

85

onStart()現在は推奨されていません。onStartCommand(Intent, int, int)代わりに使用する必要があります。

于 2011-05-07T16:50:59.623 に答える
42

オーバーライドonStart()-- をIntentパラメーターとして受け取ります。

于 2009-12-27T02:32:19.900 に答える
4

エクストラを渡すには:

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);
        ...
    } 
    ...
} 
于 2016-12-25T13:49:21.617 に答える