0

我有一个连接类,它接收来自本机代码的回调。一旦回调到达,消息对象就会被构建。

我有一项服务应该将此消息发送到其他应用程序。

我的连接类如下所示:

//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() 而无需创建另一个服务实例?

4

1 回答 1

0

在您的服务类中,添加

static private Service _singletonInstance = null;

private void setInstance() { _singletonInstance = this; }

private static void newMsgReceived(Message msg) { _singletonInstance.newMsgReceived(msg); }

为简洁起见,不包括错误检查

于 2013-09-15T15:01:10.133 回答