我正在尝试在 AIDL 存根实现上访问 sqlite DB(填充在包的不同部分),但是 - 那里没有上下文。我怎样才能得到上下文?有 2 个项目(应用程序)- A,B。项目 A 包含在 sqlite DB 上保存记录。并包含辅助服务。项目 B 需要询问项目 A(不同的包,可能有很多类似 B 的项目)是否存在记录。项目 A 从存根回答项目 B 的唯一方法是检查数据库是否有上下文(下面代码中的“?????”)-如何从存根中获取项目 A 的上下文?
AIDL 的实现:
public class IRecordServiceImpl extends IRecordService.Stub{
@Override
public boolean RecordExists(String recordKey)
throws RemoteException {
boolean returnValue = false;
RecordDataSource rds = new RecordDataSource(??????);
rds.Open();
returnValue = rds.isRecordExists(recordKey);
rds.Close();
return returnValue;
}
}
服务代码:
public class IRecordService extends Service {
private IRecordServiceImpl service;
@Override
public void onCreate() {
super.onCreate();
this.service = new IRecordServiceImpl();
}
@Override
public IBinder onBind(Intent intent) {
return this.service;
}
@Override
public boolean onUnbind(Intent intent) {
return super.onUnbind(intent);
}
@Override
public void onDestroy() {
super.onDestroy();
}
}
谢谢!