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();
		}

  

原文地址:https://www.cnblogs.com/IWings/p/6094708.html