和IOS開發(fā)和Windows Phone開發(fā)相比,Android是開放的,,Android上的開發(fā)也相對(duì)更加靈活,,能夠做很多事情。有的朋友會(huì)發(fā)現(xiàn),,在某些Android應(yīng)用安裝以后,,第一次運(yùn)行,就會(huì)在桌面創(chuàng)建快捷方式,。這是如何做到的呢,? 要不怎么說Android特別開放呢,在Android開發(fā)中,,只要發(fā)送一個(gè)廣播,,就可以實(shí)現(xiàn)這種需求了。 廢話不多說,,以下是封裝好的一段代碼,。 1 public class ShortcutUtil { 2 3 public static void createShortCut(Activity act, int iconResId, 4 int appnameResId) { 5 6 // com.android.launcher.permission.INSTALL_SHORTCUT 7 8 Intent shortcutintent = new Intent( 9 "com.android.launcher.action.INSTALL_SHORTCUT"); 10 // 不允許重復(fù)創(chuàng)建 11 shortcutintent.putExtra("duplicate", false); 12 // 需要現(xiàn)實(shí)的名稱 13 shortcutintent.putExtra(Intent.EXTRA_SHORTCUT_NAME, 14 act.getString(appnameResId)); 15 // 快捷圖片 16 Parcelable icon = Intent.ShortcutIconResource.fromContext( 17 act.getApplicationContext(), iconResId); 18 shortcutintent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, icon); 19 // 點(diǎn)擊快捷圖片,運(yùn)行的程序主入口 20 shortcutintent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, 21 new Intent(act.getApplicationContext(), act.getClass())); 22 // 發(fā)送廣播 23 act.sendBroadcast(shortcutintent); 24 } 25 } 代碼比較簡(jiǎn)單,,不做更詳細(xì)的解釋,。
別忘記增加以下權(quán)限,否則看不到任何效果,。 <uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT"/>
另外,,這樣做可能并不友好。更好的做法是,,第一次運(yùn)行程序的時(shí)候,,提示用戶是否創(chuàng)建桌面快捷方式,讓用戶選擇,。以后再次運(yùn)行就不再進(jìn)行提示了,。 |
|