通过回调获得Aidl结果

时间:2016-07-28 09:10:46

标签: android aidl

我写了一个记录一些音频信号的应用程序。此信号必须由安装在我的设备上的插件处理。对于主应用程序和插件之间的通信,我们使用aidl接口。

由于我是这些接口的新手,我想知道以下是否适用于插件将结果返回给我的主应用程序:

我创建了一个界面:

public interface MainAppCallback {
    public void onResult(String result);
}

我在录制话题

中实现它
MainAppCallback callback = new MainAppCallback() {
    @Override
    public void onResult(String result) {
        // Add result to member variable of recording thread
    }
};

在我的 aidl界面中,我定义了插件的方法:

/** Callback to send results to main application
*/
void registerCallback(MainAppCallback callback);

/** The code is documentation enough
*/
void unregisterCallback();

然后我想在录制话题

中做类似的事情
PlugIn.registerCallback(callback);

这是正确的方法,还是我在这里做错了什么?

1 个答案:

答案 0 :(得分:1)

这是正确的。确保您也为回调接口定义了一个aidl文件。

这里有一个答案,它已经有一个你需要回调的2个aidl文件的例子: Android remote service callbacks

此处还有完整的示例代码:https://developer.android.com/guide/components/aidl.html