Android 实例展现如何不同程序间的Serivce调用
2010-09-15 00:10:00 来源:WEB开发网void unregisterCallback(ITaskCallback cb);
//参数可以是String, 可以用in表入输入类型, out表示输出类型.
int getCustomerList(in String branch, out String[] customerList);
}
在项目中创建一个文本文件,按照java的语法写一个接口。
package com.shinestudio.demo.service;
interface IDemoServiceBinder {
String getPushString();
void setPushString(String str);
}
保存为 IDemoServiceBinder.aidl
生命一个IBinder.Stub的对象,实现接口里的方法
private NotificationManager nm;
private IDemoServiceBinder.Stub dBinder = new IDemoServiceBinder.Stub() {
@Override
public String getPushString() throws RemoteException {
return pushData1;
}
@Override
public void setPushString(String str) throws RemoteException {
pushData1 = str;
}
};
在Service暴露出给客户端的接口,这样就可以在Bind后调用aidl的方法了
@Override
public IBinder onBind(Intent arg0) {
return dBinder;
}
下面就该完成调用Service的部分了。首先新建新的Android 项目。
将上一个项目中的 IDemoServiceBinder.aidl 和 gen下的IDemoServiceBinder.java
方法是在项目中右键 export 选择 JAR file
勾选IDemoServiceBinder.aidl 和 IDemoServiceBinder.java 导出
在新建的项目中导入这个jar文件
下面是调用过程,下面的代码属于另一个应用
在Activity中写代码
private IDemoServiceBinder dsb;
private ServiceConnection sc = new ServiceConnection() {
赞助商链接