捆绑包可以传递给服务吗?

时间:2011-03-10 10:15:19

标签: android android-intent android-service

在我的应用程序中,我需要从活动到服务获取值。我需要检索的值是我在该活动中单击的值。

例如:如果我从活动A中选择x [i]元素,我需要检索服务S中的值x [i]。

怎么可能?

谢谢,

尼基

3 个答案:

答案 0 :(得分:7)

在服务中使用此:

public int onStartCommand (Intent intent, int flags, int startId)
{
     super.onStartCommand(intent, flags, startId);
     Bundle bundle = intent.getExtras();
}

答案 1 :(得分:2)

创建意图时,您可以将数据放入其中,并在启动服务时将相同的数据与意图一起传输。

Intent intent = new Intent(context, Class) ;
intent.putExtra(key, value);

startService(intent);

在接收端获取意图并从中获取额外的价值。

Bundle b = getIntent().getExtra();
b.get<ValueType>(key);

答案 2 :(得分:0)

您可以覆盖服务中的onStartCommand(Intent intent, int flags, int startId)方法。