Android 双屏异显

时间:2023-03-10 06:52:53
Android 双屏异显

android双屏是克隆模式,如果要在第二屏幕显示不同内容,需要自定义一个Presentation类

1.先设置权限

(刚开始折腾很久没有效果,后来发现是没设置权限)

    <!-- 显示系统窗口权限 -->
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
<!-- 在 屏幕最顶部显示addview-->
<uses-permission android:name="android.permission.SYSTEM_OVERLAY_WINDOW" />

 

2.自定义类

public class DifferentDislay extends Presentation{
public DifferentDislay(Context outerContext, Display display) {
super(outerContext,display); }
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.test); }
}

3.然后这段代码,就可以让第二屏幕显示不同内容了

		DisplayManager mDisplayManager;// 屏幕管理类
mDisplayManager = (DisplayManager) this
.getSystemService(Context.DISPLAY_SERVICE);
Display[] displays = mDisplayManager.getDisplays(); if (mPresentation == null) {
mPresentation = new DifferentDislay(this, displays[displays.length - 1]);// displays[1]是副屏 mPresentation.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);
mPresentation.show();
}