美文网首页
Android 7.1 新特性-----Shortcuts

Android 7.1 新特性-----Shortcuts

作者: 欧祎 | 来源:发表于2018-12-04 14:58 被阅读0次
    image.png

    Android 7.1 允许 App 自定义 Shortcuts,类似 iOS 的 3D touch。通过在桌面长按 App 弹出 Shortcut 列表,点击某个 Shortcut 快速进入某项操作,同时 Shortcut 可以拖动到桌面进行固定。

    从展现效果上来看,分为两种方式:


    image.png

    在添加方式上和广播有点像,分为在清单文件中静态注册,和在运行时中动态添加两种方式。

    • 静态方式(Static shortcuts):

      在Manifest中申明添加,不可修改,只能通过重新打包的方式来更新快捷方式。


      image.png image.png
    • 动态添加(Dynamic shortcuts)

      通过 ShortcutManager API 进行操作。可以动态添加、修改、删除。


      image.png
    • Pinned shortcuts(Android 8.0 即API 26以上)

      指通过拖动固定到桌面的 Shortcuts。
      App 不可以添加、修改、删除这些 Shortcuts,只能禁用他们。即便 App 内删除了某个 Shorcut,对应的已固定到桌面的 Shortcuts 也不会被删除。
      在尝试添加pinned shortcuts的时候,用户会收到一个确认对话框,询问是否允许固定快捷方式。

    Static shortcuts 和Dynamic shortcuts的区别

    • Static shortcuts只能通过重新打包修改配置,Dynamic shortcuts可以在运行时根据具体业务场景动态修改。
    • Static shortcuts的Intent无法设置FLAG,默认为FLAG_ACTIVITY_NEW_TASKFLAG_ACTIVITY_CLEAR_TASK Flag,即若应用运行中会清除所有已存在的 Activity。Dynamic shortcuts 的 Intent 可以设置 Flag。
    • Static shortcuts 的Delete直接删除,Dynamic shortcuts 的Delete通过禁用删除。
    • Static shortcuts的排列顺序按照声明顺序排列,Dynamic shortcuts可以通过setRank(int rank)函数设置顺序,默认情况下Static shortcuts距离宿主App更近。

    其他

    • 为了防止 ShortcutManager 过度消耗设备资源,在Activity以及Service都在后台的情况下,操作Shortcut的频率是受限的。
    • Static shortcuts 和Dynamic shortcuts 是有最大个数限制的,默认为 5,超过最大个数后添加会报异常。而固定的 Shortcuts 并没有个数限制,并且固定的 Shortcut 对应的 Shortcut 即便被动态删除了,依然可以通过 id 进行 Update 操作。
    • 可以通过setIntents()分配多个intent(同时打开多个页面)。

    应用场景

    • 把一些常见的高频次操作放到shortcuts中
    • 把一些路径较深(难找)但是非边缘的功能页面
    • 可以分配多个intent(同时打开多个页面,形成一个页面栈),可以从运营玩法的角度去挖掘这个特性。

    相关文章

      网友评论

          本文标题:Android 7.1 新特性-----Shortcuts

          本文链接:https://www.haomeiwen.com/subject/wtimcqtx.html