Android create pinned shortcut創(chuàng)建桌面快捷方式

前言

本文主要針對(duì)文章Create shortcuts中動(dòng)態(tài)創(chuàng)建桌面快捷方式的解釋和例子。在8.0系統(tǒng)中,創(chuàng)建桌面快捷方式的廣播com.android.launcher.action.INSTALL_SHORTCUT不再生效,創(chuàng)建桌面快捷方式需要用另外的方法。由于文章中沒有詳細(xì)的例子而且表達(dá)不是很清楚,筆者也一頭霧水,經(jīng)過了多方的嘗試涧郊,最后才明白其中的意思,希望能給同樣遇到困惑的人一點(diǎn)幫助眼五。轉(zhuǎn)載請(qǐng)注明來源「Bug總柴」

主動(dòng)創(chuàng)建pinned shortcuts

主動(dòng)創(chuàng)建pinned shortcuts的意思是可以通過代碼讓用戶選擇是否需要在桌面快捷方式妆艘。

/**
 * 這里用ShortcutManagerCompat是因?yàn)镾hortcutManager的minsdkversion要求至少是25
 */
private void createShortCut() {
    if (ShortcutManagerCompat.isRequestPinShortcutSupported(this)) {
        ShortcutInfoCompat shortcut = new ShortcutInfoCompat.Builder(this, "id1")
                .setShortLabel("Website")
                .setLongLabel("Open the website")
                .setIcon(IconCompat.createWithResource(this, R.drawable.ic_logo_app))
                .setIntent(new Intent(Intent.ACTION_VIEW,
                    Uri.parse("https://www.mysite.example.com/")))
                    .build();

        Intent pinnedShortcutCallbackIntent = ShortcutManagerCompat.createShortcutResultIntent(this, shortcut);
        PendingIntent successCallback = PendingIntent.getBroadcast(this, /* request code */ 0,
                pinnedShortcutCallbackIntent, /* flags */ 0);

        ShortcutManagerCompat.requestPinShortcut(this, shortcut, successCallback.getIntentSender());
    }
}

運(yùn)行這段代碼后,會(huì)有這樣的提示給到用戶如下圖:


device-2018-11-23-151817.png

當(dāng)用戶點(diǎn)擊【添加】后會(huì)在桌面顯示快捷方式看幼,不過現(xiàn)在的快捷方式都帶了一個(gè)下標(biāo)如下圖:


image.png

通過桌面小部件方式添加快捷方式

這種方式屬于用戶通過添加桌面小部件方式手動(dòng)添加批旺,我們需要?jiǎng)?chuàng)建一個(gè)activity來表明我們的應(yīng)用有這樣的快捷方式小部件,并且處理添加的行為桌吃。

// 在AndoidManifest文件中添加activity
<activity android:name=".activity.AddShortcutActivity">
    <intent-filter>
        <action android:name="android.intent.action.CREATE_SHORTCUT"/>
        <category android:name="android.intent.category.DEFAULT" />
    </intent-filter>
</activity>

然后在Activity中創(chuàng)建快捷方式:

public class AddShortcutActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_add_shortcut);
        Toast.makeText(this, "add shortcut", Toast.LENGTH_SHORT).show();
        if (ShortcutManagerCompat.isRequestPinShortcutSupported(this)) {
            ShortcutInfoCompat shortcut = new ShortcutInfoCompat.Builder(this, "id1")
                    .setShortLabel("Website")
                    .setLongLabel("Open the website")
                    .setIcon(IconCompat.createWithResource(this, R.drawable.ic_logo_app))
                    .setIntent(new Intent(Intent.ACTION_VIEW,
                            Uri.parse("https://www.mysite.example.com/")))
                    .build();

            Intent pinnedShortcutCallbackIntent = ShortcutManagerCompat.createShortcutResultIntent(this, shortcut);
            setResult(RESULT_OK, pinnedShortcutCallbackIntent);
            finish();
        }
    }
}

再次運(yùn)行代碼之后朱沃,可以在系統(tǒng)添加桌面小部件的地方看到有我們創(chuàng)建的小部件,這一個(gè)時(shí)候就可以拖動(dòng)它到桌面了:)

image.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末茅诱,一起剝皮案震驚了整個(gè)濱河市逗物,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌瑟俭,老刑警劉巖翎卓,帶你破解...
    沈念sama閱讀 206,013評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異摆寄,居然都是意外死亡失暴,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,205評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門微饥,熙熙樓的掌柜王于貴愁眉苦臉地迎上來逗扒,“玉大人,你說我怎么就攤上這事欠橘【丶纾” “怎么了?”我有些...
    開封第一講書人閱讀 152,370評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵肃续,是天一觀的道長(zhǎng)黍檩。 經(jīng)常有香客問我叉袍,道長(zhǎng),這世上最難降的妖魔是什么刽酱? 我笑而不...
    開封第一講書人閱讀 55,168評(píng)論 1 278
  • 正文 為了忘掉前任喳逛,我火速辦了婚禮,結(jié)果婚禮上棵里,老公的妹妹穿的比我還像新娘润文。我一直安慰自己,他們只是感情好衍慎,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,153評(píng)論 5 371
  • 文/花漫 我一把揭開白布转唉。 她就那樣靜靜地躺著皮钠,像睡著了一般稳捆。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上麦轰,一...
    開封第一講書人閱讀 48,954評(píng)論 1 283
  • 那天乔夯,我揣著相機(jī)與錄音,去河邊找鬼款侵。 笑死末荐,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的新锈。 我是一名探鬼主播甲脏,決...
    沈念sama閱讀 38,271評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼妹笆!你這毒婦竟也來了块请?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,916評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤拳缠,失蹤者是張志新(化名)和其女友劉穎墩新,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體窟坐,經(jīng)...
    沈念sama閱讀 43,382評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡海渊,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,877評(píng)論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了哲鸳。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片臣疑。...
    茶點(diǎn)故事閱讀 37,989評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖徙菠,靈堂內(nèi)的尸體忽然破棺而出讯沈,到底是詐尸還是另有隱情,我是刑警寧澤懒豹,帶...
    沈念sama閱讀 33,624評(píng)論 4 322
  • 正文 年R本政府宣布芙盘,位于F島的核電站驯用,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏儒老。R本人自食惡果不足惜蝴乔,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,209評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望驮樊。 院中可真熱鬧薇正,春花似錦、人聲如沸囚衔。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,199評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)练湿。三九已至猴仑,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間肥哎,已是汗流浹背辽俗。 一陣腳步聲響...
    開封第一講書人閱讀 31,418評(píng)論 1 260
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留篡诽,地道東北人崖飘。 一個(gè)月前我還...
    沈念sama閱讀 45,401評(píng)論 2 352
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像杈女,于是被迫代替她去往敵國(guó)和親朱浴。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,700評(píng)論 2 345

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