Android建立快捷圖示

我叫阿狸貓發表於2014-07-28
/**
 * 建立快捷圖示
 * 要包含三個重要資訊
 * 1.圖示
 * 2.名稱
 * 3.點選快捷圖示後幹什麼
 */
public void installShortCut(){
	boolean shortCut = sp.getBoolean("shortCut", false);
	if(shortCut)//如果已經建立過快捷方式了,就不再建立
		return;
	
	//傳送廣播的意圖,桌面建立快捷圖示意圖
	Intent intent = new Intent();
	intent.setAction("com.android.launcher.action.INSTALL_SHORTCUT");
	intent.putExtra(Intent.EXTRA_SHORTCUT_NAME, "魔獸世界");//設定快捷方式的文字
	//設定快捷方式的圖片
	intent.putExtra(Intent.EXTRA_SHORTCUT_ICON, BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher));
	//桌面點選快捷圖示後的意圖
	Intent shortCutIntent = new Intent();
	//這種方式建立快捷方式後,把應用程式本身刪除,快捷方式也會隨之刪除
	shortCutIntent.setAction("android.intent.action.MAIN");
	shortCutIntent.addCategory("android.intent.category.LAUNCHER");//啟動能力的意圖
	shortCutIntent.setClassName(getPackageName(), "com.xxc.mobilesafe.SplashActivity");//點選快捷方式後執行的意圖
	
	//像這樣建立快捷方式,不是指向程式入口的快捷方式,把應用程式本身給刪除後,快捷方式並不會隨之刪除
	/*shortCutIntent.setAction("com.xxc.pikaxiong");
	shortCutIntent.addCategory(Intent.CATEGORY_DEFAULT);*/
	
	intent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortCutIntent);//設定快捷方式點選後的意圖
	
	sendBroadcast(intent);
	
	Editor editor = sp.edit();
	editor.putBoolean("shortCut", true);
	editor.commit();
} 

相關文章