我有一个Connection类,它接收来自本机代码的回调。一旦回调到达,消息对象就会生成。
我有一个应该将此消息发送给其他应用程序的服务。
我的连接类看起来像这样:
//Callback from the native code
public void callback(int data1, int data2){
buildMsg(int data1, int data2);
}
public void buildMsg(int data1, int data2){
Message msg = new Message(data1,data2);
}
邮件对象是可以分配的。
buildMsg方法应该调用newMsgReceived()方法,使服务发送此消息的其他应用程序。
服务如下:
public void newMsgReceived(Message msg){
//calling an interface for IPC to send the message
}
此服务从消息接收应用程序开始,因此所有绑定和ipc都已正常工作。所以我的问题是,是否可以在本机回调到达时调用newMsgReceived()方法,而不创建另一个服务实例?
答案 0 :(得分:0)
在您的服务类中,添加
static private Service _singletonInstance = null;
private void setInstance() { _singletonInstance = this; }
private static void newMsgReceived(Message msg) { _singletonInstance.newMsgReceived(msg); }
错误检查不包括在内以简洁