华为折叠屏适配

华为折叠屏适配方案:华为在大屏设备上有系统级别的支持方案,华为平行视界,能够支持折叠屏分屏显示

华为折叠屏分屏显示效果


Screenshot_20210527_160252_com.tencent.mm.jpg

华为平行视界简介
平行视界是一种在平板、折叠屏手机等大屏设备上对应用进行分屏展示的技术。平行视界以 Activity 为基本单位,以左右窗口分离显示技术、双窗口生命周期管理、双窗口显示模式和切换逻辑为核心技术实现的应用内分屏的系统侧解决方案。应用可以根据自身的业务特点,分屏显示不同的 Activity 组合,以实现符合应用逻辑的最佳单应用多窗口的用户体验。

平行视界入口
手机系统设置-应用-平行视界

支持平行视界的设备类型
华为折叠屏手机、华为平板M6系列及以上平板 (系统版本EMUI 10.X 及以上) 支持平行视界功能。

适配平行视界具体方法 (可脱离华为编译器实现的方案)
第一步,在 AndroidManifest.xml 文件中添加

<meta-data android:name="EasyGoClient" android:value="true" />

第二步,在 assets 目录下添加 easygo.json 配置文件

{
  "easyGoVersion": "1.0",
  "client": "应用包名",
  "logicEntities": [
    {
      "head": {
        "function": "magicwindow",
        "required": "true"
      },
      "body": {
        "mode": "1",
        "activityPairs": [
          {
            "from": "MainActivity", // 触发分屏的源Activity,不支持通配符
            "to": "*" // 触发分屏的目标Activity,支持通配符,“*”表示任意Activity
          },
          {
            // 主页面Activity,可以有多个,分号隔开展开态时冷启动应用打开此页面时,系统在右屏自动启动relatedPage页面
            "mainPage": "MainActivity",
            // 右屏默认展示页面Activity,mainPages和relatedPage只能配置1对,需要具体的Activity名,不支持通配符
            "relatedPage": "MagicWindowActivity"
          }
        ],
        "transActivities": [],
        "UX": {
          "isDraggable": "false", // true 为可以拖拽,false 为不可拖拽
            "showStatusBar": "true" // 是否显示状态栏
        }
      }
    }
  ]
}

只要简单的两步,就支持了平行视界,是不是非常的简单?

风险说明

  • 只支持华为的部分设备,无法普及到一般的平板和折叠屏手机;
  • 需要用户开启平行视界功能,才能使用;
  • 目前仅支持二分屏幕的展示效果
  • 目前只支持 Activity 为基本单位的分屏,不支持 Fragment 分屏显示,对于单 Activity 多 Fragment 的应用,想要支持平行视界,只能将 Fragment 改造成 Activity

FAQ
Q: 修改 easygo.json 配置文件后,为什么新配置未生效?
A: 修改 easygo.json 配置文件后,需要升级应用版本号或者卸载重新安装,新配置才能生效。
参考:https://developer.huawei.com/consumer/cn/forum/topic/0201144059651060174?fid=3467

Q: 如何判断设备是否为华为折叠屏?
A: 可根据手机系统属性 "ro.config.hw_fold_disp" 判断,该属性不为空则为华为折叠屏。
参考:https://developer.huawei.com/consumer/cn/forum/topic/0202567316824870264?fid=3467

Q: 如何判断设备是否支持平行视界?
A: 可根据手机系统属性 "ro.config.hw_magic_window_enable", 改属性为 "true" 则支持华为平行视界。
参考:https://developer.huawei.com/consumer/cn/forum/topic/0202567316824870264?fid=3467

Q: 能否将应用配置为默认开启平行视界?
A: 不能,部分头部应用能默认开启平行视界是因为跟华为签了协议,华为将这些应用添加进白名单。
参考:https://developer.huawei.com/consumer/cn/forum/topic/0204412700180730409?fid=3467

Q: 如何判断应用在平行视界下运行?
A: 可用如下代码判断

    private fun isInMagicWindow(): Boolean {
        val ctx = context ?: return false
        val configuration = ctx.resources.configuration.toString()
        return configuration.contains("hwMultiwindow-magic") || configuration.contains("hw-magic-windows")
    }

参考:https://developer.huawei.com/consumer/cn/forum/topic/0201296861975670023?fid=3467

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,539评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,911评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,337评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,723评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,795评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,762评论 1 294
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,742评论 3 416
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,508评论 0 271
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,954评论 1 308
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,247评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,404评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,104评论 5 340
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,736评论 3 324
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,352评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,557评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,371评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,292评论 2 352

推荐阅读更多精彩内容