一,闡述
Shortcuts 功能跟隨着 Android7.1 Nougat 一起誕生,
其主要目:在於用戶可以定義一些常用的操作路徑,以快捷方式的形式存在。
這些快捷方式展示在可以支持的設備上,幫助用戶快速啓動常用或者推薦的頁面和行爲。
二,展示方式
1,一種通過 長按 應用 icon,此時會彈出列表彈窗.(對於沒有配置快捷方式的應用,一般都是手機廠商給的默認功能)
下圖是沒有配置shortcuts時的效果
2,另一種則以桌面快捷方式的形式存在,同一種行爲可以存在多個相同的桌面快捷方式。
三,功能
每個快捷方式都可以攜帶一個或多個 intent,當用戶點擊快捷方式時,每個 intent 都會觸發應用中對應的操作,參考例子:
美團: 跳轉到訂單頁
飛豬: 跳轉到機票頁
四,快捷方式的類型
1,靜態的快捷方式:
其直接會打包到 apk 或 apk bundle 中,安裝完應用便存在快捷方式入口。 這種最適合那種在整個程序的生命週期中,意圖不會改變,始完成整同一種行爲。鑑於程序一般只能顯示四個快捷方式,那靜態的快捷方式一般對於那種比較常見的行爲非常有用和有必要。
2,動態的快捷方式:
只有在應用運行時纔會創建,可以隨時的更新、添加和刪除對應的快捷方式。這種一般對意圖較爲敏感的操作。意圖可能在應用運行中發生改變,需要更新快捷方式。
3,桌面快捷方式:
必須在用戶授權的情況下,可以主動的添加快捷方式到桌面,同樣可以拷貝動態和靜態的快捷方式到桌面。這種允許用戶自定義跳轉意圖。
五,限制條件
雖然對於一個應用程序一般可以創建五個快捷方式,其中包括靜態和動態的,但是但多數的設備上只能展示 4個。
六,靜態快捷方式代碼實現
1 ,在清單文件配置meta-data
2,在shortcuts.xml文件設置長按圖標事件
android:shortcutId 唯一標識
android:enabled 快捷方式是否被禁用 true表示可以用
android:icon 快捷方式上顯示的圖片
android:shortcutLongLabel 快捷方式被禁用信息,儘可能控制在10個字符
android:shortcutLongLabel 快捷方式的長名稱,優先使用長名稱,儘可能控制在25個字符
android:action 固定的
android:targetPackage 項目的包名
android:targetClass 要跳轉的頁面全路勁
categories android:name 固定的