1
我想在android 4.0以後的版本中使用android.filterfw。* framworks。但是,它仍然隱藏在SDK中。 所以,現在我正在嘗試JAVA反射技巧。如何在android 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 {
}
你知道什麼想法?
非常感謝。這是我正在尋找。 – nakahara 2012-01-12 07:24:15
您的歡迎..! :) – 2012-01-12 11:16:54
鏈接需要註冊 – Alex 2018-02-03 20:39:27