对于项目,我想在辅助显示器上创建活动。我不想使用Presentation类,因为这会创建对话而不是活动。我能够检索辅助显示及其上下文但是无法将此上下文作为新活动的目标。这是我目前的代码:
MediaRouter.RouteInfo selectedRoute = mMediaRouter.getSelectedRoute(
MediaRouter.ROUTE_TYPE_LIVE_VIDEO);
Display selectedDisplay = null;
Intent intent = null;
if (selectedRoute != null) {
selectedDisplay = selectedRoute.getPresentationDisplay();
}
if(selectedDisplay != null){
Context myC = createDisplayContext(selectedDisplay);
//indicates that the display represented by myC is not the main display
System.out.println(((WindowManager) myC.getSystemService(WINDOW_SERVICE)).
getDefaultDisplay());
intent = new Intent(myC, MainActivity.class);
//required flag to use myC.startActivity(), instead of just startActivity()
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
myC.startActivity(intent);
}
此代码无错误地执行,但是,创建的活动显示在主屏幕上的第一个活动之上。打印已创建活动的默认显示确认了这一点。
是否可以在辅助屏幕上创建活动? Presentation类是Dialog的子类这一事实表明它可能不是。