创建一个使用 Context.createDisplayContext(Display) 为您的辅助显示获取新窗口管理器的服务 - 这就是 Presentation 的工作方式
以这个链接为例:
http ://www.java2s.com/Open-Source/Android/android-core/platform-frameworks-base/com/android/server/LoadAverageService.java.htm
在 onCreate() 中,而不是获取 WindowManagerImpl:
public void onCreate(){
...
WindowManagerImpl wm = (WindowManagerImpl)getSystemService(WINDOW_SERVICE);
wm.addView(mView, params);
}
调用这样的方法:
private void addView(WindowManager.LayoutParams params){
DisplayManager dm = (DisplayManager) getApplicationContext().getSystemService(DISPLAY_SERVICE);
if (dm != null){
Display dispArray[] = dm.getDisplays();
if (dispArray.length>0){
Context displayContext = getApplicationContext().createDisplayContext(dispArray[1]);
WindowManager wm = (WindowManager)displayContext.getSystemService(WINDOW_SERVICE);
wm.addView(mView, params);
}
}
}
您的视图将被添加到辅助显示屏,并且由于它由服务运行,因此您在主显示屏上运行的活动不会暂停