Window window = null;try {
Class<?> policyManagerClass = Class
.forName("com.android.internal.policy.PolicyManager");
Class<?>[] parMakeNewWindow = { Context.class };Class<?>[] parConstructor = {};
Method makeNewWindow = policyManagerClass.getDeclaredMethod("makeNewWindow", parMakeNewWindow);
Object[] args = { context };window = (Window) makeNewwindows.invoke(null, args);
} catch (ClassNotFoundException e) {
LogHelper.e(TAG, "getPolicyWindow, ", e);
} catch (NoSuchMethodException e) {
LogHelper.e(TAG, "getPolicyWindow, ", e);
} catch (IllegalAccessException e) {
LogHelper.e(TAG, "getPolicyWindow, ", e);
} catch (InvocationTargetException e) {
LogHelper.e(TAG, "getPolicyWindow, ", e);
}return window;
}
1.
2.
3.
两个类的职责:
1.
(1)
(2)
(3)
2.
(1)
(2)
(3)
注意事项:
有时候无法设置全屏显示视频,显示的视频的大小受该方法控制。该方法负责控制SurfaceView的整体大小,视频是被填充在它里面,视频最大也就是SurfaceView的大小。