一个包是否可以传递给一个服务?
问题描述:
在我的应用程序中,我需要从活动获取价值到服务。我需要检索的值是我在该活动中单击的值。一个包是否可以传递给一个服务?
对于例如:如果i。从活动A选择X [I]元件,我需要检索该值x [i]于服务S.
如何可能?
感谢,
尼基
答
在服务上使用该:
public int onStartCommand (Intent intent, int flags, int startId)
{
super.onStartCommand(intent, flags, startId);
Bundle bundle = intent.getExtras();
}
答
当你创建一个意图,你可以把数据给它相同的数据将与意向一起,当你启动服务转移。
Intent intent = new Intent(context, Class) ;
intent.putExtra(key, value);
startService(intent);
在接收端获取意图并从中获得额外的价值。
Bundle b = getIntent().getExtra();
b.get<ValueType>(key);
答
您可以覆盖在服务onStartCommand(Intent intent, int flags, int startId)
方法。
void returntype与参数不兼容! :( – Niki 2011-03-10 12:58:42
'void'returntype与int参数不兼容!!! :( – Niki 2011-03-10 13:03:06
@niki抱歉,它的int。你应该避免复制粘贴。真正的程序员类型代码。然后他们解决错误。) – Reno 2011-03-10 13:43:58