Can a bundle be passed to a service?

匿名 (未验证) 提交于 2019-12-03 02:30:02

问题:

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.



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