这更像是一个java问题,而不是一个Android问题。如果我们查看下面的代码,我需要从我的主类访问getEnrollmentUsername:
public interface IAirWatchSDKService extends android.os.IInterface {
public String getEnrollmentUsername(String publicKey);
public abstract static class Stub extends Binder implements IAirWatchSDKService {
private static class Proxy implements IAirWatchSDKService {
@Override
public IBinder asBinder() {
return null;
}
public String getEnrollmentUsername(String publicKey){
return "it worked";
}
}
}
}
但问题是它被包装在一个抽象类中。我如何从我的主班上学到它?并且这些代码都不会改变,因为它是库的一部分,而我只需要从我的主类编写代码。
答案 0 :(得分:1)
Proxy
被声明为私有类。要从外部访问它,需要public
,protected
或默认(包私有),具体取决于您要从中访问它的位置。
答案 1 :(得分:0)
最佳实践是,如果您的主类需要运行此方法,它应该实现该接口。那个,或者主类知道具有如下方法的接口:myIAirWatchSDKService.getEnrollmentUsername(s)