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 回答