Android:如何获取由服务接收的意图?

32

我正在启动一个带有意图的服务,其中我会放置额外的信息。

那么我如何在我的服务代码中获取这个意图呢?

在服务中没有像在活动中那样的getIntent().getExtras()函数。

3个回答

85

42

重载 onStart() 方法 -- 你将会接收到 Intent 参数。


你能详细解释一下吗? - Prasad

5

通过附加项:

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);
        ...
    } 
    ...
} 

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接