Android vehicle development, how to implement multi-screen on the simulator

Three dots, Display-addSecondary display

 

Option One

Realized by Presentation, he is a Dialog (context, display)

val displayService = getSystemService(DISPLAY_SERVICE) as DisplayManager
val displays = displayService.displays
for (display in displays){
    Log.i("alic",display.toString())
}
if (displays.size > 1){
    Log.i("alic show",displays[1].toString())
    var p:Presentation = DifferentDisplay(this, displays[1])
    p.show()
}
package com.example.myapplication;

import android.app.Presentation;
import android.content.Context;
import android.os.Bundle;
import android.view.Display;

public class DifferentDisplay extends Presentation {
    public DifferentDisplay(Context outerContext, Display display) {
        super(outerContext, display);
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.different_display);
    }
}

Option II

Use ActivityOptions to set which screen the activity is displayed on launchDisplayId

val options = ActivityOptions.makeBasic()
options.launchDisplayId = 2
val secondIntent = Intent()
val cn = ComponentName("com.example.myapplication","com.example.myapplication.SecondActivity")
secondIntent.component = cn
secondIntent.addFlags(Intent.FLAG_ACTIVITY_MULTIPLE_TASK or Intent.FLAG_ACTIVITY_NEW_TASK)
startActivity(secondIntent,options.toBundle())

third solution

adb shell am start -n package name+Activity

adb shell am start -n com.example.myapplication/com.example.myapplication.MainActivity --display 2

Guess you like

Origin blog.csdn.net/lzq520210/article/details/131548709