我想通过 Android 中的系统服务传递一个监听器。我使用 AIDL 创建了侦听器接口。
IStatusBarLostFocusCallback.aidl 的内容:
package com.android.internal.statusbar;
interface IStatusBarLostFocusCallback {
void onLostFocus();
}
然后我使用以下功能扩展了 Androids IStatusBarService.aidl:
void setStatusBarLostFocusCallback(in IStatusBarLostFocusCallback listener);
并且还导入了我的界面(在同一目录中)
import com.android.internal.statusbar.IStatusBarLostFocusCallback;
在 Android 的 StatusBarManagerService 中,我扩展了这个接口,因为我在这个线程中读到了这样做:Android 远程服务回调,如下所示:
public interface StatusBarLostFocusCallback extends IStatusBarLostFocusCallback {
public void onLostFocus();
}
现在我想使用在setStatusBarLostFocusCallback
中定义IStatusBarService.aidl
和实现的监听器来设置StatusBarManagerService.java
。
但是,当我尝试编译框架时,出现以下错误
out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/src/core/java/com/android/internal/statusbar/IStatusBarService.java:287: cannot find symbol
symbol : class IStatusBarLostFocusCallback
location: package com.android.internal.statusbar
com.android.internal.statusbar.IStatusBarLostFocusCallback _arg0;
我错过了什么。我必须写一个.java
吗IStatusBarLostFocusCallback
?如果是这样,里面应该有什么?