Android如何創(chuàng)建桌面快捷方式
Android創(chuàng)建桌面的快捷方式
概述 :創(chuàng)建桌面快捷方式相當(dāng)與創(chuàng)建一個(gè)程序的入口,就像我們程序在安裝完畢后會自動創(chuàng)建一個(gè)圖標(biāo)到桌面。其實(shí)創(chuàng)建桌面快捷方式跟創(chuàng)建一個(gè)程序入口差不多,但是像QQ會話一樣創(chuàng)建一個(gè)QQ好友的會話快捷方式,就得動態(tài)的創(chuàng)建圖標(biāo),名字了。
1.首先權(quán)限是必不可少的
<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />
2.然后就是在你項(xiàng)目配置文件里面配置
<activity android:name="com.easemob.chatuidemo.activity.ChatActivity" > <intent-filter> <category android:name="android.intent.category.LAUNCHER" /> <action android:name="android.intent.action.CREATE_SHORTCUT" /> </intent-filter> </activity>
這個(gè)actvity即為你要快捷方式點(diǎn)擊后跳轉(zhuǎn)的那一個(gè)activity
3.然后就是你要創(chuàng)建快捷方式的方法。
代碼如下:
public void CreateShotCut(final Context context, final Class<?> clazz, final String name, final String image) { Intent shortcutIntent = new Intent(Intent.ACTION_MAIN); // 加入action,和category之后,程序卸載的時(shí)候才會主動將該快捷方式也卸載 shortcutIntent.addCategory(Intent.CATEGORY_LAUNCHER); shortcutIntent.setClass(context, clazz); /** * 創(chuàng)建一個(gè)Bundle對象讓其保存將要傳遞的值 */ Bundle bundle = new Bundle(); bundle.putString("userId", userId); shortcutIntent.putExtras(bundle); /** * 設(shè)置這條屬性,可以使點(diǎn)擊快捷方式后關(guān)閉其他的任務(wù)棧的其他activity,然后創(chuàng)建指定的acticity */ shortcutIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); // 創(chuàng)建快捷方式的Intent Intent shortcut = new Intent(Intent.ACTION_CREATE_SHORTCUT); // 不允許重復(fù)創(chuàng)建 shortcut.putExtra("duplicate", false); // 點(diǎn)擊快捷圖片,運(yùn)行的程序主入口 shortcut.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent); // 需要現(xiàn)實(shí)的名稱 shortcut.putExtra(Intent.EXTRA_SHORTCUT_NAME, name); // 快捷圖片 Parcelable icon = Intent.ShortcutIconResource.fromContext( getApplicationContext(), R.drawable.ic_launcher); shortcut.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, icon); shortcut.setAction("com.android.launcher.action.INSTALL_SHORTCUT"); context.sendBroadcast(shortcut); }
這行代碼的重要性就在如果沒有這一行,那么在你點(diǎn)擊這個(gè)快捷方式,跳轉(zhuǎn)的時(shí)候就會直接跳到這個(gè)應(yīng)用的棧頂(如果指定的activity在棧頂,也不會跳轉(zhuǎn)其上而是銷毀)而不是指定的那一個(gè)Activity(剛開始沒加這條屬性的時(shí)候,一直跳轉(zhuǎn)不到指定的activity上)。
shortcutIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
如果想要動態(tài)的添加圖片即創(chuàng)建快捷方式的時(shí)候獲取網(wǎng)路上的圖片來進(jìn)行設(shè)置其快捷圖片則使用
// Intent.EXTRA_SHORTCUT_ICON 是bitmap對象
shortcut.putExtra(Intent.EXTRA_SHORTCUT_ICON,bitmap);
這行代碼,你可以請求網(wǎng)路圖片后轉(zhuǎn)換為BitMap后設(shè)置進(jìn)去。
ok動態(tài)的創(chuàng)建快捷方式就這樣完成了。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Android中RecyclerView實(shí)現(xiàn)簡單購物車功能
這篇文章主要為大家詳細(xì)介紹了Android中RecyclerView實(shí)現(xiàn)簡單購物車功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-02-02Android Gridview布局出現(xiàn)滾動條或組件沖突解決方法
這篇文章主要介紹了Android Gridview布局出現(xiàn)滾動條或組件沖突解決方法,GridView是一個(gè)在二維可滾動的網(wǎng)格中展示內(nèi)容的控件。網(wǎng)格中的內(nèi)容通過使用adapter自動插入到布局中2022-07-07Android利用Java優(yōu)雅消除復(fù)雜條件表達(dá)式的方法
這篇文章主要介紹了Android利用Java優(yōu)雅消除復(fù)雜條件表達(dá)式,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值。感興趣的小伙伴可以參考一下2022-06-06Android String資源文件插入值實(shí)例詳解
這篇文章主要介紹了Android String資源文件插入值實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下2017-06-06Android定時(shí)器Timer的停止和重啟實(shí)現(xiàn)代碼
本篇文章主要介紹了Android實(shí)現(xiàn)定時(shí)器Timer的停止和重啟實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-08-08Android中使用ListView實(shí)現(xiàn)漂亮的表格效果
這篇文章主要介紹了Android中使用ListView實(shí)現(xiàn)漂亮的表格效果,本文用詳細(xì)的代碼實(shí)例創(chuàng)建了一個(gè)股票行情表格,需要的朋友可以參考下2014-10-10Android?Flutter實(shí)現(xiàn)頁面切換轉(zhuǎn)場動畫效果
Hero組件非常適合從列表、概覽頁切換到詳情頁轉(zhuǎn)場動畫場合。本文將利用Hero組件制作一個(gè)簡單的頁面切換轉(zhuǎn)場動畫效果,感興趣的可以了解一下2022-06-06