Android之快捷方式

2021-06-16 15:06:49 字數 2791 閱讀 9498

android中,應用程式快捷方式是桌面最基本的元件。用於直接啟動應用程式,本文將對應用程式建立進行分析講解。 建立應用程式快捷方式主要有以下幾種:

下面將對第三種進行詳細介紹: 實現思路是:我們都知道我們的桌面都是通過launcher來控制的,所以我們可以通過下面兩種方式來實現快捷方式的自動建立:

下面是這兩種建立方式的核心**: 首先第一種方式:

private

void

createshortcut()

//first, set up the shortcut intent. for this example, we simply create an intent that

//will bring us directly back to this activity. a more typical implementation would use a

//data uri in order to display a more specific result, or a custom action in order to

//launch a specific operation.

intent shortcutintent = new

intent(intent.action_main);

shortcutintent.setclassname(

this, this

.getclass().getname());

//then, set up the container intent (the response to the caller)

intent intent = new intent("com.android.launcher.action.install_shortcut");

parcelable icon = intent.shortcuticonresource.fromcontext(this

,r.drawable.icon);

intent.putextra(intent.extra_shortcut_intent, shortcutintent);

shortcutintent.putextra(intent.extra_shortcut_icon_resource, icon);

//duplicate created

shortcutintent.putextra("duplicate", false

); sendbroadcast(shortcutintent);

}

執行上述**,當快捷方式建立成功後,launcher將通過toast的方式提示快捷方式建立成功,其中通過

shortcutintent.putextra("duplicate", false);設定不能重複建立,如果快捷方式已經建立則提示快捷方式已經建立,當然這種方式不是很好,因為每次執行程式的時候都會提示快捷方式已經建立。

注意如果要讓上述**能成功執行,我們還需要設定uses permission

第二種方式和第一種有些類似,不過我們不用廣播的方式讓給launcher建立,而是通過註冊intentfilter,由於「新增快捷方式」action是 由launcher通過startactivity-forresult這一方法發出的,在activity啟動後把初始化的快捷方式 intent返回給launcher應用程式,設定結果值為result_ok表示正常返回。

主要**如下:

首先在xml中設定intentfilter

建立核心**:

//

resolve the intent

final intent intent =getintent();

final string action =intent.getaction(); //

if the intent is a request to create a shortcut, we'll do that and exit

if(intent.action_create_shortcut.equals(action))

在launcher中我們執行程式就可以將快捷方式建立在桌面上。

通過上述方式可以自動將快捷方式建立到桌面上,但是每次執行程式時都會將快捷方式建立到桌面上,下面我們將通過程式判斷快捷方式是否已經建立到桌面上了,基本思路是:由於快捷方式launcher管理的,我們可以通過檢視launcher中是否已經有此快捷方式資料,如果有就不在建立。

主要**如下:

private

boolean

shortcutinstalled() , "title=?",

);

if (c != null && c.getcount() > 0)

return

isinstallshortcut;

}

如果要進行上述查詢操作,需要具有以下許可權:

這樣通過上述方法就能建立快捷方式到桌面上了。此時我們發現乙個問題,通過程式建立的快捷方式不會隨著程式解除安裝而自動刪除。

宣告:以上內容皆為自己的粗淺認識,難免會有遺漏或者錯誤的地方,還請大家多多指點和導論。

Android桌面快捷方式

我的應用程式會在第一次使用的時候在桌面建立乙個快捷方式,我建立快捷方式的 是這樣的 我的程式在第一次使用的時候會在桌面建立乙個快捷方式,如下 1 2 3 4 5 6 7 8 9 10 intent intent newintent intent.setclass this,splashactivit...

android 快捷方式的使用

1,判斷是否已經建立了快捷方式 在某些機型中需要判斷 private boolean hasshortcut title if c null c.getcount 0 return isinstallshortcut 2,建立 為程式建立桌面快捷方式 private void addshortcut...

android 建立快捷方式

1 新增許可權 必須 com.android.launcher.permission.install shortcut 2 新增快捷鍵 public static void setupshortcut activity activity 3 快捷鍵也可以指向非launcher activity,只需...