Android 通过回调获得Aidl结果
我已经写了一个应用程序,其中记录了一些音频信号。此信号必须由安装在我的设备上的插件处理。对于主应用程序和插件之间的通信,我们使用aidl接口 由于我不熟悉这些接口,我想知道插件是否可以将结果返回到我的主应用程序: 我创建了一个界面:Android 通过回调获得Aidl结果,android,aidl,Android,Aidl,我已经写了一个应用程序,其中记录了一些音频信号。此信号必须由安装在我的设备上的插件处理。对于主应用程序和插件之间的通信,我们使用aidl接口 由于我不熟悉这些接口,我想知道插件是否可以将结果返回到我的主应用程序: 我创建了一个界面: public interface MainAppCallback { public void onResult(String result); } 我在我的录制线程中实现它: MainAppCallback callback = new MainAppCa
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
}
};
PlugIn.registerCallback(callback);
在我的aidl接口中,我定义了插件的方法:
/** Callback to send results to main application
*/
void registerCallback(MainAppCallback callback);
/** The code is documentation enough
*/
void unregisterCallback();
然后,我想在我的录制线程中执行类似的操作:
MainAppCallback callback = new MainAppCallback() {
@Override
public void onResult(String result) {
// Add result to member variable of recording thread
}
};
PlugIn.registerCallback(callback);
这是正确的方法,还是我做错了什么?没错。确保您也为回调接口定义了一个aidl文件 下面是一个答案,其中已经有一个回调所需的2个aidl文件的示例:
这里还有完整的示例代码:前面已回答,完整的代码结构: