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)路上的圖片來(lái)進(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)建快捷方式就這樣完成了。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
使用ViewPager實(shí)現(xiàn)左右循環(huán)滑動(dòng)及滑動(dòng)跳轉(zhuǎn)
今天實(shí)現(xiàn)了左右滑動(dòng),至于在最后一頁(yè)滑動(dòng)跳轉(zhuǎn),這個(gè)也做了但是效果不是太好,也希望有實(shí)現(xiàn)的朋友能夠分享下2013-01-01
使用Kotlin實(shí)現(xiàn)文字漸變TextView的代碼
這篇文章主要介紹了使用Kotlin實(shí)現(xiàn)文字漸變TextView的代碼,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-04-04
Android數(shù)據(jù)加密之Rsa加密的簡(jiǎn)單實(shí)現(xiàn)
下面小編就為大家?guī)?lái)一篇Android數(shù)據(jù)加密之Rsa加密的簡(jiǎn)單實(shí)現(xiàn)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-10-10
Kotlin?this關(guān)鍵字的使用實(shí)例詳解
這篇文章主要介紹了Kotlin?this關(guān)鍵字的使用實(shí)例,在Kotlin中,this關(guān)鍵字允許我們引用一個(gè)類的實(shí)例,該類的函數(shù)恰好正在運(yùn)行。此外,還有其他方式可以使this表達(dá)式派上用場(chǎng)2023-02-02
Android?OkHttp庫(kù)簡(jiǎn)單使用和封裝教程助你快速掌握網(wǎng)絡(luò)請(qǐng)求技能
OkHttp是一個(gè)高效的HTTP客戶端庫(kù),適用于Android和Java應(yīng)用程序。它支持HTTP/2和SPDY協(xié)議,提供了同步和異步請(qǐng)求API、請(qǐng)求和響應(yīng)攔截器、連接池和多路復(fù)用器、緩存支持、GZIP和DEFLATE壓縮等功能,可以大大提高網(wǎng)絡(luò)請(qǐng)求的性能和可擴(kuò)展性2023-04-04
Android開發(fā)實(shí)現(xiàn)的保存圖片到相冊(cè)功能示例
這篇文章主要介紹了Android開發(fā)實(shí)現(xiàn)的保存圖片到相冊(cè)功能,結(jié)合實(shí)例形式分析了Android圖片命名、保存、權(quán)限控制等相關(guān)操作技巧,需要的朋友可以參考下2019-03-03
Android實(shí)現(xiàn)登錄郵箱的自動(dòng)補(bǔ)全功能
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)登錄郵箱的自動(dòng)補(bǔ)全功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-04-04

