Android使用Presentation进行双屏开发
最近公司项目有新需求,android外接屏(双屏)开发。然后网上一顿查,发现是通过Presentation来实现的,但是资料比较少。小弟不才就简要的说明一下Presentation的使用方法。
1、获取窗口管理并显示
private DisplayManager mDisplayManager;// 屏幕管理器
private AdvertisementPresentation mPresentation;
mDisplayManager = (DisplayManager) context.getSystemService(Context.DISPLAY_SERVICE);
Display[] displays = mDisplayManager.getDisplays();//获取窗口
if (null == advertisementManager && displays.length > 1) {
mPresentation = new AdvertisementPresentation(context, displays[1]);// displays[1]是副屏
mPresentation.show();//显示
}
2、AdvertisementPresentation部分代码
AdvertisementPresentation继承至Presentation。而Presentation大家可以看底层代码,他就是一个dialog。
public class AdvertisementPresentation extends Presentation {
private Context mContext;
public AdvertisementPresentation(Context outerContext, Display display) {
super(outerContext, display);
this.mContext = outerContext;
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(null);//加载布局
//这里就是你外接屏(第二个屏幕)的代码了,其他就按照业务需求来自己编写.
}
}
记得申请权限
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
<uses-permission android:name="android.permission.SYSTEM_OVERLAY_WINDOW" />