通过回调的 Aidl 结果
Aidl result via callback
我写了一个记录一些音频信号的应用程序。此信号必须由安装在我的设备上的插件处理。主应用和插件之间的通信,我们使用aidl接口。
由于我是这些接口的新手,我想知道以下是否适用于插件 return 我的主要应用程序的结果:
我创建了一个界面:
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);
这是正确的方法吗,还是我做错了什么?
没错。确保您也为回调接口定义了 aidl 文件。
这里有一个答案,其中已经包含回调所需的 2 个 aidl 文件的示例:
Android remote service callbacks
这里还有完整的示例代码:https://developer.android.com/guide/components/aidl.html
我写了一个记录一些音频信号的应用程序。此信号必须由安装在我的设备上的插件处理。主应用和插件之间的通信,我们使用aidl接口。
由于我是这些接口的新手,我想知道以下是否适用于插件 return 我的主要应用程序的结果:
我创建了一个界面:
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);
这是正确的方法吗,还是我做错了什么?
没错。确保您也为回调接口定义了 aidl 文件。
这里有一个答案,其中已经包含回调所需的 2 个 aidl 文件的示例: Android remote service callbacks
这里还有完整的示例代码:https://developer.android.com/guide/components/aidl.html