Android7.1之后的Shortcuts

Android7.1之后的Shortcuts

介紹

相信大家都知道iOS的3DTouch吧翘瓮,其實(shí)在蘋果推出這種交互的時(shí)候桃犬,很多工程師就可以依靠軟件程序?qū)崿F(xiàn)類似交互了恨豁。Android7.1之后Google加入了這種交互方式沽瞭,與iOS有一些不同奠骄,Google將其定義為一種快捷入口豆同。

交互效果

屏幕快照 2017-05-05 21.27.34.png

這是目前我手中的一個(gè)項(xiàng)目(成長印記)已經(jīng)實(shí)現(xiàn)了Android7.1的這種交互形式

我們看看官方的介紹吧

If your app targets Android 7.1 (API level 25) or higher, you can define shortcuts to specific actions in your app. These shortcuts can be displayed in a supported launcher. Shortcuts let your users quickly start common or recommended tasks within your app.

Each shortcut references one or more intents, each of which launches a specific action in your app when users select the shortcut. Examples of actions you can express as shortcuts include the following:

Navigating users to a particular location in a mapping app.
Sending messages to a friend in a communication app.
Playing the next episode of a TV show in a media app.
Loading the last save point in a gaming app.
You can publish two different types of shortcuts for your app:

Static shortcuts are defined in a resource file that is packaged into an APK. Therefore, you must wait until you update your entire app to change the details of these static shortcuts.
Dynamic shortcuts are published at runtime using the ShortcutManager API. During runtime, your app can publish, update, and remove its dynamic shortcuts.
App shortcuts on Nexus 6P
Figure 1: Using app shortcuts, you can surface key actions and take users deep into your app instantly.
You can publish up to five shortcuts (static shortcuts and dynamic shortcuts combined) at a time for your app. Some launcher apps, however, don't show every shortcut you've created for your app.

Users can copy your app's shortcuts onto the launcher, creating pinned shortcuts. There is no limit to the number of pinned shortcuts to your app that users can create. Your app cannot remove these pinned shortcuts, but it can disable them

理解之后

當(dāng)你的Android版本在7.1及以上的時(shí)候那么你就可以定義有一些快捷方式以供用戶更加迅速的定位到某個(gè)頁面或功能,一個(gè)快捷方式支持一個(gè)或多個(gè)Intent的跳轉(zhuǎn)

動(dòng)態(tài)Shortcuts(DynamicShortcuts)

這種shortcuts事最為實(shí)應(yīng)用的一種含鳞,其實(shí)我?guī)缀蹙椭挥眠@一種影锈,因?yàn)檫@樣很好用,不想靜態(tài)的,不易維護(hù)鸭廷,固定不變的操作目前項(xiàng)目幾乎沒有了枣抱!

使用步驟

  • 獲取ShortcutManager
            synchronized (ShortcutManager.class) {
                if (manager == null) {
                    manager = context.getSystemService(ShortcutManager.class);
                }
            }
  • 初始化shortcutInfoList
ShortcutInfo info = new ShortcutInfo.Builder(context, str)
                    .setShortLabel("")
                    .setLongLabel("")
                    .setIcon(Icon.createWithResource(context, R.drawable.ic_mine_prodution))
                    .setIntent(intent)
                    .setDisabledMessage(context.getString(R.string.shortcuts_disable_message))
                    .build();
            shortcutInfoList.add(info);
  • 設(shè)置getManager().setDynamicShortcuts
getManager().setDynamicShortcuts(shortcutInfoList);

刪除Shortcuts

在這里說一下,Google沒有所謂的刪除Shortcuts辆床,但是我們可以通過disableShortcuts方法進(jìn)行取消快捷操作佳晶,但是實(shí)際測試中模擬器中并沒有隱藏,而是我們設(shè)置的setDisabledMessage方法中的提示出現(xiàn)了讼载!后來查了一下Shortcuts一旦被作為快捷方式獨(dú)立顯示在桌面那么程序是無法進(jìn)行刪除的轿秧,必須用戶進(jìn)行刪除

靜態(tài)(Static Shortcuts)

  • 清單文件設(shè)置
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="com.example.myapplication">
  <application ... >
    <activity android:name="Main">
      <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
      </intent-filter>
      <meta-data android:name="android.app.shortcuts"
                 android:resource="@xml/shortcuts" />
    </activity>
  </application>
</manifest>
  • 編輯資源文件
<shortcuts xmlns:android="http://schemas.android.com/apk/res/android">
  <shortcut
    android:shortcutId="compose"
    android:enabled="true"
    android:icon="@drawable/compose_icon"
    android:shortcutShortLabel="@string/compose_shortcut_short_label1"
    android:shortcutLongLabel="@string/compose_shortcut_long_label1"
    android:shortcutDisabledMessage="@string/compose_disabled_message1">
    <intent
      android:action="android.intent.action.VIEW"
      android:targetPackage="com.example.myapplication"
      android:targetClass="com.example.myapplication.ComposeActivity" />
    <!-- If your shortcut is associated with multiple intents, include them
         here. The last intent in the list determines what the user sees when
         they launch this shortcut. -->
    <categories android:name="android.shortcut.conversation" />
  </shortcut>
  <!-- Specify more shortcuts here. -->
</shortcuts>
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市维雇,隨后出現(xiàn)的幾起案子淤刃,更是在濱河造成了極大的恐慌,老刑警劉巖吱型,帶你破解...
    沈念sama閱讀 212,884評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件逸贾,死亡現(xiàn)場離奇詭異,居然都是意外死亡津滞,警方通過查閱死者的電腦和手機(jī)畜伐,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,755評論 3 385
  • 文/潘曉璐 我一進(jìn)店門辣吃,熙熙樓的掌柜王于貴愁眉苦臉地迎上來动知,“玉大人晌涕,你說我怎么就攤上這事∽拆模” “怎么了疟丙?”我有些...
    開封第一講書人閱讀 158,369評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長鸟雏。 經(jīng)常有香客問我享郊,道長,這世上最難降的妖魔是什么孝鹊? 我笑而不...
    開封第一講書人閱讀 56,799評論 1 285
  • 正文 為了忘掉前任炊琉,我火速辦了婚禮,結(jié)果婚禮上又活,老公的妹妹穿的比我還像新娘苔咪。我一直安慰自己,他們只是感情好柳骄,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,910評論 6 386
  • 文/花漫 我一把揭開白布团赏。 她就那樣靜靜地躺著,像睡著了一般耐薯。 火紅的嫁衣襯著肌膚如雪馆里。 梳的紋絲不亂的頭發(fā)上隘世,一...
    開封第一講書人閱讀 50,096評論 1 291
  • 那天,我揣著相機(jī)與錄音鸠踪,去河邊找鬼。 笑死复斥,一個(gè)胖子當(dāng)著我的面吹牛营密,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播目锭,決...
    沈念sama閱讀 39,159評論 3 411
  • 文/蒼蘭香墨 我猛地睜開眼评汰,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了痢虹?” 一聲冷哼從身側(cè)響起被去,我...
    開封第一講書人閱讀 37,917評論 0 268
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎奖唯,沒想到半個(gè)月后惨缆,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,360評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡丰捷,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,673評論 2 327
  • 正文 我和宋清朗相戀三年坯墨,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片病往。...
    茶點(diǎn)故事閱讀 38,814評論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡捣染,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出停巷,到底是詐尸還是另有隱情耍攘,我是刑警寧澤,帶...
    沈念sama閱讀 34,509評論 4 334
  • 正文 年R本政府宣布畔勤,位于F島的核電站蕾各,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏硼被。R本人自食惡果不足惜示损,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,156評論 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望嚷硫。 院中可真熱鬧检访,春花似錦、人聲如沸仔掸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽起暮。三九已至卖氨,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背筒捺。 一陣腳步聲響...
    開封第一講書人閱讀 32,123評論 1 267
  • 我被黑心中介騙來泰國打工柏腻, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人系吭。 一個(gè)月前我還...
    沈念sama閱讀 46,641評論 2 362
  • 正文 我出身青樓五嫂,卻偏偏與公主長得像,于是被迫代替她去往敵國和親肯尺。 傳聞我的和親對象是個(gè)殘疾皇子沃缘,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,728評論 2 351

推薦閱讀更多精彩內(nèi)容