Android OS では、リフレクションを使用して以下を取得しIWindowManager
ます。
Class tempClass = Class.forName("android.os.ServiceManager");
Method method = tempClass.getMethod("getService", String.class);
IBinder binder = (IBinder) method.invoke(null,new Object[] { "window" });
IWindowManager mIWM = IWindowManager.Stub.asInterface(binder);
リフレクションを使用して、次を取得しViewServer
ます。
Class mViewServer = Class.forName("com.android.server.ViewServer");
ただし、次のコードを使用すると、次がスローされjava.lang.IllegalArgumentException
ます。
Constructor ct = mViewServer.getDeclaredConstructor(Class.forName("com.android.server.WindowManagerService"));
ct.setAccessible(true);
Object mVSObject = ct.newInstance(mIWM);
ViewServer
コンストラクターは次のとおりです。
ViewServer(WindowManagerService windowManager) {
...
}
誰が私を助けることができます、どうもありがとうございました!