android中,應用程式快捷方式是桌面最基本的元件。用於直接啟動應用程式,本文將對應用程式建立進行分析講解。 建立應用程式快捷方式主要有以下幾種:
下面將對第三種進行詳細介紹: 實現思路是:我們都知道我們的桌面都是通過launcher來控制的,所以我們可以通過下面兩種方式來實現快捷方式的自動建立:
下面是這兩種建立方式的核心**: 首先第一種方式:
private執行上述**,當快捷方式建立成功後,launcher將通過toast的方式提示快捷方式建立成功,其中通過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);
}
shortcutintent.putextra("duplicate", false);設定不能重複建立,如果快捷方式已經建立則提示快捷方式已經建立,當然這種方式不是很好,因為每次執行程式的時候都會提示快捷方式已經建立。
注意如果要讓上述**能成功執行,我們還需要設定uses permission
第二種方式和第一種有些類似,不過我們不用廣播的方式讓給launcher建立,而是通過註冊intentfilter,由於「新增快捷方式」action是 由launcher通過startactivity-forresult這一方法發出的,在activity啟動後把初始化的快捷方式 intent返回給launcher應用程式,設定結果值為result_ok表示正常返回。
主要**如下:
首先在xml中設定intentfilter
建立核心**://在launcher中我們執行程式就可以將快捷方式建立在桌面上。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中是否已經有此快捷方式資料,如果有就不在建立。
主要**如下:
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,只需...