android里 activity怎么向service传递参数?
优质机构答主
2023-01-06 · 百度认证:广东太平洋互联网信息服务有限公司官方账号,优质数码...
关注
展开全部
android中activity中向service传递参数,有如下方法:\x0d\x0a\x0d\x0a1.在Activity里注册一个BroadcastReceiver,Service完成某个任务就可以发一个广播,接收器收到广播后通知activity做相应的操作。\x0d\x0a2.使用bindService来关联Service和Application,应用.apk里的所有组件一般情况都运行在同一个进程中,所以不需要用到IPC,bindService成功后,Service的Client可以得到Service返回的一个iBinder引用,具体的参见Service的文档及onBind的例子,这样Service的引用就可以通过返回的iBinder对象得到,如\x0d\x0apublic class LocalService extends Service {\x0d\x0a // This is the object that receives interactions from clients. See\x0d\x0a // RemoteService for a more complete example.\x0d\x0a private final IBinder mBinder = new LocalBinder();\x0d\x0a\x0d\x0a public class LocalBinder extends Binder {\x0d\x0a LocalService getService() {\x0d\x0a return LocalService.this;\x0d\x0a }\x0d\x0a }\x0d\x0a\x0d\x0a @Override\x0d\x0a public IBinder onBind(Intent intent) {\x0d\x0a return mBinder;\x0d\x0a }\x0d\x0a}\x0d\x0a\x0d\x0a之后Client通过这个iBinder对象得到Service对象引用之后,可以直接和Service通讯,比如读取Service中的值或是调用Service的方法。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询