cpl 发表于 2020-11-16 14:16:17

firefly-rk3399 8.1双屏异显,两个app两个屏幕显示怎么做

本帖最后由 cpl 于 2020-11-18 16:59 编辑

我这边刷的官方8.1hdmi的那个固件,通过hdmi+dp接了两个显示器,执行am start -W -n com.android.settings/com.android.settings.Settings --display 1 后提示应用不支持在辅显示屏上启动,两个
显示器都显示的同一个activity...

自己也写了app,加了android:resizeableActivity="true" 和 android:supportsPictureInPicture="true",效果还是两个屏幕启动同一个activity,提示“应用不支持在辅显示屏上启动”

想要知道异显如何实现,两个屏幕显示两个单独的apk。




jpchen 发表于 2020-11-16 14:48:16

可以参考
https://blog.csdn.net/wlwl0071986/article/details/48542923

cpl 发表于 2020-11-16 16:08:39

jpchen 发表于 2020-11-16 14:48
可以参考
https://blog.csdn.net/wlwl0071986/article/details/48542923

Presentation可以实现副屏显示,但是需要每个app都实现Presentation代码。我想要的是单独app可以启动到副屏显示。通过intent跳转
DisplayManager displayManager = (DisplayManager) this.getSystemService(DISPLAY_SERVICE);
      Display[] dis = displayManager.getDisplays();
      Intent intent = new Intent(this, ClassActivity.class);
      if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
            ActivityOptions ao = ActivityOptions.makeBasic();
            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
                ao.setLaunchDisplayId(3);
                startActivity(intent, ao.toBundle());
            }
      }



但是这段代码会提示“应用不支持在辅显示屏上启动”

jpchen 发表于 2020-11-16 17:51:28

cpl 发表于 2020-11-16 16:08
Presentation可以实现副屏显示,但是需要每个app都实现Presentation代码。我想要的是单独app可以启动到副 ...

{:4_106:} 看看其他了解这方面的童鞋的回复吧

cpl 发表于 2020-11-20 14:46:42

已经解决了

3.原因:系统不支持多屏显示特性
类似于双屏异显的特性是通过/system/etc/permissions/下面的xml配置文件来进行控制的。

多屏显示的特性xml文件:
\frameworks\native\data\etc\android.software.activities_on_secondary_displays.xml

android.software.activities_on_secondary_displays.xml文件:

<permissions>
    <feature name="android.software.activities_on_secondary_displays" />
</permissions>
1
2
3
4.解决
1、需要将android.software.activities_on_secondary_displays.xml文件拷贝到/system/etc/permissions/下面,双屏异显才可生效。否则就会报错。adb push命令。

2、或者在编译时在mk文件中增加编译脚本:
PRODUCT_COPY_FILES += frameworks/native/data/etc/android.software.activities_on_secondary_displays.xml : system/etc/permissions/android.software.activities_on_secondary_displays.xml重新编译系统生效。

关于安卓hasSystemFeature及系统特性配置,请参考文章:
https://blog.csdn.net/lzpdz/article/details/51841213
页: [1]
查看完整版本: firefly-rk3399 8.1双屏异显,两个app两个屏幕显示怎么做