android 双屏异显adb/code实现方式

本文介绍了如何使用adb命令和代码来实现Android设备的双屏异显功能,包括adb命令操作和具体的代码示例。

通过adb命令实现双屏异显

am start --display 1 -n com.android.settings/.Settings

在这里插入图片描述

通过代码方式实现双屏异显

代码如下:

package com.meig.dualscreendemo;

import androidx.appcompat.app.AppCompatActivity;

import android.app.ActivityOptions;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.hardware.display.DisplayManager;
import android.os.Bundle;
import android.util.Log;
import android.view.Display;
import android.view.View;
import android.widget.Button;

public class MainActivity extends AppCompatActivity implements View.OnClickListener {
    private static final String TAG = "wangjicong";
    private Button mBtn;
    private Button mBtn1;
    private Button mBtn2;
    private int secondScreenId = 0;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mBtn = (Button)findViewById(R.id.show_settings);
        mBtn.setOnClickListener(this);

        mBtn1 = (Button)findViewById(R.id.show_launcher);
        mBtn1.setOnClickListener(this);

        mBtn2 = (Button)findViewById(R.id.show_car);
        mBtn2.setOnClickListener(this);

        init();
    }
    private void init(){
        DisplayManager displayManager = (DisplayManager)getSystemService(Context.DISPLAY_SERVICE);
        for (Display display:displayManager.getDisplays()){
            Log.d(TAG,"display.name = "+display.getName()+",display.id = "+display.getDisplayId());
            secondScreenId = display.getDisplayId();
        }
    }
    @Override
    public void onClick(View v) {
        Intent intent = new Intent();
        ComponentName componentName;
        ActivityOptions activityOptions = ActivityOptions.makeBasic();
        activityOptions.setLaunchDisplayId(secondScreenId);
        //adb shell am start --display 1 -n   com.android.settings/.Settings
        switch (v.getId()){
            case R.id.show_settings:
                componentName = new ComponentName("com.android.settings","com.android.settings.Settings");
                intent.setComponent(componentName);
                startActivity(intent,activityOptions.toBundle());
                break;
            case R.id.show_launcher:
                componentName = new ComponentName("com.autolauncher.motorcar","com.autolauncher.motorcar.Speed_Activity");
                intent.setComponent(componentName);
                startActivity(intent,activityOptions.toBundle());
                break;
            case R.id.show_car:
                componentName = new ComponentName("com.wow.carlauncher.mini","com.wow.carlauncher.mini.view.activity.launcher.LauncherActivity");
                intent.setComponent(componentName);
                startActivity(intent,activityOptions.toBundle());
                break;
            default:
                break;
        }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值