副屏显示
android设备可以开启模拟副屏,通过Presentation实现模拟副屏的画面绘制。
进入设置的开发者选项,找到绘图-模拟辅助显示设备(英文为Simulate secondary displays)。

选择辅助设备的分辨率。

需要申请显示在其他应用上层的权限,
<uses-permission android:name= "android.permission.SYSTEM_ALERT_WINDOW" />
跳转设置以授权:
if (!Settings.canDrawOverlays(this)) {
Intent intent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION, Uri.parse(
"package:" + getPackageName()));
startActivityForResult(intent, 520);
}
接着初始化Presentation,代码如下
private void initPresentation() {
Display[] displays =
mDisplayManager.getDisplays(DisplayManager.DISPLAY_CATEGORY_PRESENTATION);
if (displays != null && displays.length > 0) {
Display display = displays[0];
mCustomPresentation = new CustomPresentation(this, display);
mCustomPresentation.getWindow().setType(WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY);
mCustomPresentation.setOnDismissListener(new DialogInterface.OnDismissListener() {
@Override
public void onDismiss(DialogInterface dialogInterface) {
Log.d(TAG, "onDismiss");
}
});
mCustomPresentation.show();
} else {
Toast.makeText(this, "无副屏", Toast.LENGTH_SHORT).show();
}
}
完整代码如下:
package com.example.secondarydisplays;
import android.content.

本文详细介绍了如何在Android设备上通过Presentation API开启和控制模拟副屏,包括设置权限、检查权限、自定义Presentation以及使用场景,如车载智能座舱和多屏交互。

9109

被折叠的 条评论
为什么被折叠?



