如何在android JAVA中用反射实现隐藏界面?

时间:2012-01-12 04:39:44

标签: java android reflection android-camera

我想稍后在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 {

}
你知道吗?

1 个答案:

答案 0 :(得分:1)

阅读此Hidden API