赞
踩
2.aidl 传递interface 实现callback。
aidl传递interface.java类时编译是会出错的。解决办法是通过aidl实现callback
首先创建aidl文件IService.aidl
interface IService { void init(IDemoResultListener listener); }
IDemoResultListener 就是MyService需要使用引用的aidl
IDemoResultListener .aidl
interface IDemoResultListener {void setByteArray( inout byte[] data);}
MyService.java
public class MyService extends IService.Stub { private static final String TAG = MyService.class.getSimpleName(); public void init(IDemoResultListener listener) throws RemoteException { listener.setByteArray(new byte[]{0x00, 0x01}); } }
回调输出到DemoClass
public class DemoClass { public DemoClass() { } private static final String TAG = DemoClass.class.getSimpleName(); IDemoResultListener listener = new IDemoResultListener.Stub() { @Override public void setByteArray(byte[] data) throws RemoteException { Log.e(TAG, "" + data[0] + " " + data[1]); } }; }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。