參考原始碼,知道建立快捷方式是通過發廣播給receiver實現的。
第一步:
指定action為:
com.android.launcher.action.install_shortcut
第二步:
指定名稱:
intent.putextra(intent.extra_shortcut_name, "手機管家");
第三步:
指定圖示:
intent.putextra(intent.extra_shortcut_icon,
bitmapfactory.decoderesource(getresources(), r.drawable.icon));
第四步:
指定要幹什麼事情:
intent shortcutintent = new intent();
shortcutintent.setaction(intent.action_main);
shortcutintent.addcategory(intent.category_default);
shortcutintent.setclassname(getpackagename(),
"com.ustc.mobilemanager.splashactivity");
intent.putextra(intent.extra_shortcut_intent, shortcutintent);
第五步:
傳送廣播:
sendbroadcast(intent);
執行,發現程式並沒有建立快捷方式,檢視logcat日誌,發現了一點:需要新增許可權:
現在執行,ok了,不過我們的程式每次進入都會建立乙個快捷方式,這個太。。。所以我們需要知道當我們建立過了之後就不要再建立了:
完整的**如下:
/**
* 建立快捷方式
* */
private void installshortcut()
editor editor = sp.edit();
// 傳送廣播的intent
intent intent = new intent();
intent.setaction("com.android.launcher.action.install_shortcut");
// 快捷方式,要包含三個重要的資訊:1.名稱;2.圖示;3.幹什麼事情
intent.putextra(intent.extra_shortcut_name, "手機管家");
intent.putextra(intent.extra_shortcut_icon,
bitmapfactory.decoderesource(getresources(), r.drawable.icon));
intent shortcutintent = new intent();
shortcutintent.setaction(intent.action_main);
shortcutintent.addcategory(intent.category_default);
shortcutintent.setclassname(getpackagename(),
"com.ustc.mobilemanager.splashactivity");
intent.putextra(intent.extra_shortcut_intent, shortcutintent);
sendbroadcast(intent);
toast.maketext(this, "已建立手機管家快捷方式", 0).show();
editor.putboolean("shortcut", true);
editor.commit();
}
在oncreate()方法中呼叫。
WinCE桌面新增應用程式的快捷方式
把這個檔案放入smdk2410 files 目錄中。2 把快捷方式新增到核心中 開啟project.bib 檔案,新增如下內容 3 把快捷方式新增到桌面 開啟project.dat,加入以下內容 4 最後執行選單builder sysgen,生成nk.bin 和nk.nb0 開發板啟動後,就會在桌面...
兩種在linux下建立應用程式快捷方式的方法
實,在桌面建立快捷方式還有一種比較土的辦法。那就是建立指向執行檔案的符號鏈結。比如我的mplayer的gui執行檔案是 usr bin gmplayer,直接在終端下敲乙個 ln s usr bin gmplayer desktop 就可以了。但是這裡有個問題 當符號鏈結指向的是乙個二進位制檔案時,...
建立桌面快捷方式
bool createdesktopshotcut cstring strname,在桌面顯示的名稱 cstring strsourcepath 檔案絕對路徑名稱 pshell release strdestdir.format s path strdestdir strdestdir strnam...