tyc*_*czj 4 android broadcastreceiver android-service
通常你会启动这样的服务
Intent i = new Intent(context,MessageService.class);
context.startService(i);
Run Code Online (Sandbox Code Playgroud)
但我想做的是将在 a 中收到的意图发送BroadcastReceiver到服务。如果我按照上面所示的方式启动服务,将无法从BroadcastReceiver正确的地方获得意图?
基本上我只想BroadcastReceiver启动我的服务,然后让服务本身处理收到的意图
这可能吗?
将 Intent 从 BroadcastReceiver 发送到 Service:
Intent intent = new Intent(context,MessageService.class);
String value = "String you want to pass";
String name = "data";
intent.putExtra(name, value);
context.startService(intent);
Run Code Online (Sandbox Code Playgroud)
onStartCommand服务方法中的接收者意图:
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
Toast.makeText(this, "service starting", Toast.LENGTH_SHORT).show();
if (intent.getStringExtra("data") != null) {
{
String str=intent.getStringExtra("data");//get data here sended from BroadcastReceiver
}
return super.onStartCommand(intent,flags,startId);
}
Run Code Online (Sandbox Code Playgroud)
有关我们如何在 Service 和 BroadcastReceiver 之间进行通信,请参阅这篇文章
| 归档时间: |
|
| 查看次数: |
7626 次 |
| 最近记录: |