Android 双屏异显[RK3399][Android8.1/9]双屏异显
  HvTJUzsxOBtS 2023年11月21日 67 0


说明
很多人有双屏异显的需求,之前我们想实现一般有两种方式.:

Google自带的Presentation
从5.1.1开始RK自己实现了一套双屏异显得机制
其实如果用过的人都知道,方式1的局限性太大而方式2的兼容性也不是很好

但是从android8.0开始,google加入了新的双屏异显机制,可以直接启动应用到副屏显示,灵活切兼容性很好.
 

实现方式

  1. 通过代码方式:
package com.firefly.myapplication;

import android.annotation.TargetApi;
import android.app.ActivityOptions;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.pm.LauncherApps;
import android.graphics.Rect;
import android.os.Build;
import android.os.UserHandle;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

public class MainActivity extends AppCompatActivity {
    @TargetApi(Build.VERSION_CODES.O)
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ActivityOptions options = null;
        options = ActivityOptions.makeBasic();
        options.setLaunchDisplayId(1);
        Bundle optsBundle = options.toBundle();

        Intent intent = new Intent();
        intent.setComponent(new ComponentName("com.android.settings","com.android.settings.Settings"));

        startActivity(intent,optsBundle);
    }



}

其中 options.setLaunchDisplayId(1) 代表设置应用启动所在的屏幕,主屏为0,可以如下获得当前支持的屏幕

DisplayManager  mDisplayManager;//屏幕管理类
    Display[]  displays;//屏幕数组
    mDisplayManager = (DisplayManager)context.getSystemService(Context.DISPLAY_SERVICE);
    displays =mDisplayManager.getDisplays();

2、通过adb方式: 

#启动设置到副屏
am start -W -n com.android.settings/com.android.settings.Settings --display 1

 

问题

提示“应用不支持在辅显示屏上启动”
 

Android 双屏异显[RK3399][Android8.1/9]双屏异显_android

 新建文件/system/etc/permissions/android.software.activities_on_secondary_displays.xml并填入如下内容,保存后重启即可

<?xml version="1.0" encoding="utf-8"?>
<permissions>
    <feature name="android.software.activities_on_secondary_displays" />
</permissions>
 


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月21日 0

暂无评论

推荐阅读
  anLrwkgbyYZS   2023年12月30日   31   0   0 ideciciMaxideMax
HvTJUzsxOBtS