为程序添加运行自动添加到桌面快捷方式

这个比较简单,直接上代码:
public void createDeskShortCut() {

		// 创建快捷方式的Intent
		Intent shortcutIntent = new Intent(
				"com.android.launcher.action.INSTALL_SHORTCUT");
		// 不允许重复创建
		shortcutIntent.putExtra("duplicate", false);
		// 需要现实的名称
		shortcutIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME,
				getString(R.string.app_name));

		// 快捷图片
		Parcelable icon = Intent.ShortcutIconResource.fromContext(
				getApplicationContext(), R.drawable.logo);

		shortcutIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, icon);

		Intent intent = new Intent(getApplicationContext(),
				LoadingActivity.class);
		// 下面两个属性是为了当应用程序卸载时桌面 上的快捷方式会删除
		intent.setAction("android.intent.action.MAIN");
		intent.addCategory("android.intent.category.LAUNCHER");
		// 点击快捷图片,运行的程序主入口
		shortcutIntent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, intent);
		// 发送广播。OK
		sendBroadcast(shortcutIntent);
		
		Toast.makeText(getApplicationContext(), "创建桌面快捷方式测试", 0).show();
	}



在启动界面的onCreate()中调用就可以,为避免重复创建,添加一个标记
SharedPreferences sharedPrefe = getSharedPreferences(Constants.SP_NAME,
				Context.MODE_PRIVATE);
		boolean isCreateDesk = sharedPrefe.getBoolean("isCreateDesk", true);
		if (isCreateDesk) {
			createDeskShortCut();
		}
		SharedPreferences.Editor editor = sharedPrefe.edit();
		editor.putBoolean("isCreateDesk", false);
		editor.commit();

猜你喜欢

转载自android-zhang.iteye.com/blog/1735284