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

Posted

技术标签:

【中文标题】Android:如何获取服务接收到的意图?【英文标题】:Android: how to get the intent received by a service? 【发布时间】:2010-12-30 05:09:10 【问题描述】:

我正在启动一项服务,目的是在其中添加额外信息。

如何在我的服务代码中获取意图?

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

【问题讨论】:

【参考方案1】:

onStart() 现已弃用。你应该改用onStartCommand(Intent, int, int)

【讨论】:

【参考方案2】:

覆盖onStart() -- 您收到Intent 作为参数。

【讨论】:

能否详细解释一下【参考方案3】:

传递额外内容:

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

【讨论】:

以上是关于Android:如何获取服务接收到的意图?的主要内容,如果未能解决你的问题,请参考以下文章

如何获取刚刚从套接字接收到的缓冲区的长度?

如何从 Android 上的意图中获取额外数据?

如何从 Android 上的意图中获取额外数据?

如何在android报警时从待处理的意图中获取requestCode

如何在android中使用意图过滤器获取数据

android - 如何使用意图选择视频文件并获取它的视频