2012-01-12 37 views
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 { 

} 

你知道什麼想法?

回答

1

閱讀本文Hidden API

+0

非常感謝。這是我正在尋找。 – nakahara 2012-01-12 07:24:15

+0

您的歡迎..! :) – 2012-01-12 11:16:54

+0

鏈接需要註冊 – Alex 2018-02-03 20:39:27

相關問題