我想稍后在android 4.0中使用android.filterfw。* framworks。但是,它仍然隐藏在SDK中。 所以,现在我正在尝试JAVA反思技巧。
有谁知道如何在android JAVA中用反射实现隐藏界面?
我想用反射来模仿以下代码。
private SurfaceTextureSourceListener mSourceReadyCallback = new SurfaceTextureSourceListener() {
public void onSurfaceTextureSourceReady(SurfaceTexture source) {
}
};
mGraphEnv.addReferences("textureSourceCallback", mSourceReadyCallback);
我做了这个。
Class c = Class.forName("android.filterpacks.videosrc.SurfaceTextureSource$SurfaceTextureSourceListener"); //step 1
instance = c.newInstance(); //step 2
proxy = Proxy.newProxyInstance(instance.getClass().getClassLoader(), new Class[] { instance.getClass() }, mHandler); //step 3
InvocationHandler mHandler = new InvocationHandler() {
@Override
public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
//TODO
return method.invoke(instance, args);
}
};
然后,我在“第2步”中遇到了例外。好的,我明白我无法创建接口目录的实例。 所以,我的问题是如何用反射实现隐藏的界面。
我做不到这样的事情......
public class MyIPL implements SurfaceTextureSourceListener {
}
你知道吗?