Can a bundle be passed to a service?

与世无争的帅哥 提交于 2019-12-19 17:36:14

问题


In my application i need to get a value from an activity to a service. The value that i need to retrieve is the one i clicked in that activity.

For eg: If i select x[i] element from Activity A, i need to retrieve the value x[i] in a Service S.

How is it possible?

Thanks,

Niki


回答1:


In the service use this:

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



回答2:


When you create an intent , you can put data to it and the same data will be transferred along with the Intent when you start the service.

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

startService(intent);

In the receiving end get the intent and get extra value from it.

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



回答3:


You can override the onStartCommand(Intent intent, int flags, int startId) method in the service.



来源:https://stackoverflow.com/questions/5258216/can-a-bundle-be-passed-to-a-service

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!