Android 辅助显示器显示指标是否依赖于主显示器?

Android 辅助显示器显示指标是否依赖于主显示器?,android,Android,我有两种不同的药片: 10.1英寸平板电脑-1280x800@~149dpi 15.6英寸平板电脑-1920x1080@~156dpi 就实际物理(现实世界)规格而言,这两款平板电脑都非常接近160dpi(其中1px相当于1dp)。系统报告它们的分辨率正好为160dpi。没关系,没什么大不了的 我还有一个辅助显示器。它与我的10.1英寸平板电脑具有相同的物理(现实世界)规格。但是,当我将它连接到两个不同的平板电脑并使用它来显示Android演示文稿,二级显示器将报告完全不同的显示指标 连接到

我有两种不同的药片:

  • 10.1英寸平板电脑-1280x800@~149dpi
  • 15.6英寸平板电脑-1920x1080@~156dpi
就实际物理(现实世界)规格而言,这两款平板电脑都非常接近160dpi(其中
1px
相当于
1dp
)。系统报告它们的分辨率正好为160dpi。没关系,没什么大不了的

我还有一个辅助显示器。它与我的10.1英寸平板电脑具有相同的物理(现实世界)规格。但是,当我将它连接到两个不同的平板电脑并使用它来显示Android
演示文稿
,二级显示器将报告完全不同的
显示指标

连接到10.1英寸平板电脑时,辅助显示器会报告:

  • 分辨率:1280x800
  • 新闻部:237.0
  • 密度:1.48125
当连接到15.6英寸平板电脑时,辅助显示器会报告:

  • 分辨率:1024x768
  • 新闻部:227.0
  • 密度:1.41875
这是什么原因造成的


这个应用程序本身就像石头一样愚蠢。我所做的就是创建一个
演示
对象,并在主显示器和次显示器上显示一个虚拟棋盘布局

我已经尝试使用
MediaRouter
DisplayManager
API来查找我的
Display
并创建我的
演示文稿
。它们都给出了相同的结果

@Override
protected void onResume() {
    super.onResume();

    MediaRouter mediaRouter = (MediaRouter) getSystemService(Context.MEDIA_ROUTER_SERVICE);
    MediaRouter.RouteInfo route = mediaRouter.getSelectedRoute(MediaRouter.ROUTE_TYPE_LIVE_VIDEO);

    if (route != null) {
        Display display = route.getPresentationDisplay();
        if (display != null) {
            Presentation presentation = new MyPresentation(this, display);
            presentation.show();
        }
    }
}

您是如何将平板电脑连接到辅助显示器的?如果您在辅助显示器上实际显示15.6英寸平板电脑中的内容,它是否会填满屏幕?这是什么样的二次显示?(液晶面板?投影仪?其他东西?)和。。。谁生产15.6英寸安卓平板电脑?:-)辅助显示器通过USB+HDMI连接。当我在辅助显示器上显示东西时,它们看起来比应该的大(因为密度比应该的大),但屏幕被填满(即所有像素都打开).第二个显示器是LCD面板。我最好的猜测是,15.6英寸平板电脑的制造商及其HDMI连接有些奇怪。您可以尝试将其连接到其他设备(显示器、电视等)上,看看它的反应如何。它可能无法检测外部显示器的本机分辨率,并会退回到另一种模式(在您的情况下为XGA分辨率)。而且。。。谁生产15.6英寸安卓平板电脑?:-)@commonware查看三星的Galaxy视图,我认为是18.4英寸@jackz314:是的,不过现在已经没有了。
@Override
protected void onResume() {
    super.onResume();

    DisplayManager manager = (DisplayManager) getSystemService(Context.DISPLAY_SERVICE);
    Display[] displays = manager.getDisplays(DisplayManager.DISPLAY_CATEGORY_PRESENTATION);

    if (displays.length > 0) {
        Presentation presentation = new MyPresentation(this, displays[0]);
        presentation.show();
    }
}