是否有可能在没有获得捆绑的情况下传递意图?

时间:2016-12-19 21:51:41

标签: android android-intent

我有一个自定义接收器,我从我的活动传递数据。让我们调用这个接收器IntentReceiver()。

一旦IntentReceiver()收到意图,我就会触发另一个将数据传递给后台处理数据的服务的意图。让我们调用这个服务IntentService()。有没有办法直接将数据传递给IntentReceiver()而无需从捆绑包中获取数据,然后将其重新打包为新意图?我目前的代码如下:

@Override
public void onReceive(Context context, Intent intent) {
    Bundle extras = intent.getExtras();
    String address = extras.getString("address");

    Intent readIntent = new Intent(context, IntentService.class);
    readIntent.putExtra("address", address);
    context.startService(readIntent);
}

此代码使用以下行为:Intent - >捆绑 - >意图

有没有办法让它成为:意图 - >意图

1 个答案:

答案 0 :(得分:1)

不是在另一个包中重新打包,而是可以使用相同的intent对象,并按照@CommonsWare所描述的进一步调用set类,如

@Override
public void onReceive(Context context, Intent intent) {

    intent.setClass(context, MessageService.class);
    context.startService(intent);
}