三星DeX适配指导
Samsung DeX为用户提供类似于电脑桌面的环境,可以利用鼠标、键盘打开应用并进行交互,在同一桌面下可以启动多个应用,并可以轻松在多个应用间切换。 在Android7.0中推出了一项非常实用的多任务处理功能:多窗口模式,Samsung DeX是基于此功能进行了功能开发和拓展。从Note10开始只需一根 USB 数据线,即可通过 Samsung DeX 将手机和电脑相连。开发者适配非常简单,只要遵循Android的最佳编码实例,应用即可正常运行。下面介绍如何为Samsung DeX优化应用。
1. 启用多窗口
建议应用程序支持多窗口,这样可以最小化,最大化和调整应用窗口大小。如果不支持多窗口,则应用程序将在固定大小的窗口中打开。支持多窗口需要在Manifest文件中进行声明:
如下图,支持多窗口的应用,可根据需要调整大小,并在窗口提供最小化、最大化和关闭按键。不支持多窗口的应用将以固定的手机尺寸运行,无法调整大小,默认无法最大化,但可以选择进入DeX实验室强制将应用最大化。
2. 启用鼠标和键盘
不能声明支持触摸屏,因为可能会禁止使用鼠标和键盘的交互。如果声明支持触摸屏,在桌面模式启用应用时,提示“该应用专为触摸屏设计,无法在DeX中运行”并无法打开应用。应用不能包含以下声明代码:
3. 运行时配置变更-系统默认
Mobile和DeX模式之间切换会导致运行时配置变更,类似于旋转屏幕触发的配置变更,每当发生配置更改时,Android默认情况下会重启正在运行的Activity(先后调用onDestroy()和onCreate())。目的是使用与新设备匹配的备用资源自动重新加载您的应用。为了更好的适配DeX,应用需要支持以下运行时更改,在配置变更时妥善处理界面的状态和数据。
Ø 运行时配置变更
1)Density在xxxhdpi和mdpi之间变化;
2)WQHD和FHD的分辨率更改;
3)横向和纵向的方向更改;
4)屏幕布局更改;
5)屏幕尺寸变化;
6)屏幕最小尺寸变化;
7)UI模式在mobile和桌面模式之间切换;
8) 色彩模式变更(只有支持Samsung DeX Dual Mode才需要进行此项修改)。
Ø 资源配置:
可以使用以下限定符为Samsung DeX模式提供替代的Android资源。
例如,下图显示了针对不同的屏幕密度使用不同资源的示例。在drawable目录提供资源图片:
Ø 字体适配:
同样,在不同的屏幕尺寸上根据dpi处理字体大小,这样在调整应用大小的时候,字体也会随比例变化,适合屏幕尺寸。
4. 运行时配置变更-自行处理
如果选择自行处理配置变更(不建议),则需要在清单文件中提供以下声明。 当手机和Samsung DeX模式之间切换时,将阻止应用程序重新启动。
1. 在manifest文件中声明“keepalive”并设置android:configChanges属性。
Ø 声明“keepalive”,可以避免在mobile和Samsung DeX之间切换时被杀死进程。
代码示例:
<!-- Version < 3.0. DeX Mode and Screen Mirroring support -->
<meta-data android:name="com.samsung.android.keepalive.density" android:value="true"/>
<!-- Version >= 3.0. DeX Dual Mode support -->
<meta-data android:name="com.samsung.android.multidisplay.keep_process_alive" android:value="true"/>
Ø 设置android:configChanges属性。在使用DeX时,声明以下配置变更将会避免触发系统发起的Activity重启。
代码示例:
<activity android:name=".MainActivity"
android:configChanges="orientation|screenSize|smallestScreenSize|density|screenLayout|uiMode|keyboard|keyboardHidden|navigation">
</activity>
2. 在onConfigurationChanged()中获得新设备配置,自行调整布局。
Ø 检测DeX模式的方法:
在onCreate()中初始化Samsung DeX,在onConfigurationChanged()中检测DeX模式,一旦连接到DeX应用就可以及时获得状态变化。
示例代码:
、
5. 参考资料
1) 请参阅Android开发者指南中的详细信息–多窗口:
Ø https://developer.android.google.cn/guide/topics/ui/multi-window
2)请参阅Android开发者指南中的详细信息–运行时配置变更:
Ø https://developer.android.google.cn/guide/topics/resources/runtime-changes
3)三星开发者网站:
Ø https://developer.samsung.com/samsung-dex/modify-optimizing.html
4)Samsung DeX下载官网:
Ø https://www.samsung.com/cn/apps/samsung-dex/
6. 联系我们
如果您在适配过程中遇到了技术问题,对折叠屏适配有任何建议或意见:
欢迎发邮件到:rdtpservice@samsung.com
邮件主题:三星DeX适配+APP名
感谢您的关注和参与!