Android如何創(chuàng)建桌面快捷方式
Android創(chuàng)建桌面的快捷方式
概述 :創(chuàng)建桌面快捷方式相當(dāng)與創(chuàng)建一個(gè)程序的入口,就像我們程序在安裝完畢后會(huì)自動(dòng)創(chuàng)建一個(gè)圖標(biāo)到桌面。其實(shí)創(chuàng)建桌面快捷方式跟創(chuàng)建一個(gè)程序入口差不多,但是像QQ會(huì)話一樣創(chuàng)建一個(gè)QQ好友的會(huì)話快捷方式,就得動(dòng)態(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.然后就是你要?jiǎng)?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í)候才會(huì)主動(dòng)將該快捷方式也卸載
shortcutIntent.addCategory(Intent.CATEGORY_LAUNCHER);
shortcutIntent.setClass(context, clazz);
/**
* 創(chuàng)建一個(gè)Bundle對(duì)象讓其保存將要傳遞的值
*/
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í)候就會(huì)直接跳到這個(gè)應(yīng)用的棧頂(如果指定的activity在棧頂,也不會(huì)跳轉(zhuǎn)其上而是銷毀)而不是指定的那一個(gè)Activity(剛開始沒加這條屬性的時(shí)候,一直跳轉(zhuǎn)不到指定的activity上)。
shortcutIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
如果想要?jiǎng)討B(tài)的添加圖片即創(chuàng)建快捷方式的時(shí)候獲取網(wǎng)路上的圖片來進(jìn)行設(shè)置其快捷圖片則使用
// Intent.EXTRA_SHORTCUT_ICON 是bitmap對(duì)象
shortcut.putExtra(Intent.EXTRA_SHORTCUT_ICON,bitmap);
這行代碼,你可以請(qǐng)求網(wǎng)路圖片后轉(zhuǎn)換為BitMap后設(shè)置進(jìn)去。
ok動(dòng)態(tài)的創(chuàng)建快捷方式就這樣完成了。
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Android中RecyclerView實(shí)現(xiàn)簡單購物車功能
這篇文章主要為大家詳細(xì)介紹了Android中RecyclerView實(shí)現(xiàn)簡單購物車功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-02-02
Android Gridview布局出現(xiàn)滾動(dòng)條或組件沖突解決方法
這篇文章主要介紹了Android Gridview布局出現(xiàn)滾動(dòng)條或組件沖突解決方法,GridView是一個(gè)在二維可滾動(dòng)的網(wǎng)格中展示內(nèi)容的控件。網(wǎng)格中的內(nèi)容通過使用adapter自動(dòng)插入到布局中2022-07-07
Android利用Java優(yōu)雅消除復(fù)雜條件表達(dá)式的方法
這篇文章主要介紹了Android利用Java優(yōu)雅消除復(fù)雜條件表達(dá)式,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值。感興趣的小伙伴可以參考一下2022-06-06
Android String資源文件插入值實(shí)例詳解
這篇文章主要介紹了Android String資源文件插入值實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下2017-06-06
Android定時(shí)器Timer的停止和重啟實(shí)現(xiàn)代碼
本篇文章主要介紹了Android實(shí)現(xiàn)定時(shí)器Timer的停止和重啟實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-08-08
Android中使用ListView實(shí)現(xiàn)漂亮的表格效果
這篇文章主要介紹了Android中使用ListView實(shí)現(xiàn)漂亮的表格效果,本文用詳細(xì)的代碼實(shí)例創(chuàng)建了一個(gè)股票行情表格,需要的朋友可以參考下2014-10-10
Android?Flutter實(shí)現(xiàn)頁面切換轉(zhuǎn)場動(dòng)畫效果
Hero組件非常適合從列表、概覽頁切換到詳情頁轉(zhuǎn)場動(dòng)畫場合。本文將利用Hero組件制作一個(gè)簡單的頁面切換轉(zhuǎn)場動(dòng)畫效果,感興趣的可以了解一下2022-06-06

