首页 > 代码库 > android快捷方式shortcut 管理

android快捷方式shortcut 管理

如下58同城快捷方式的效果:



下面是添加桌面快捷方式:

/**
	 * 启动某个activity是需要在manifest里面定义 <intent-filter> <action
	 * android:name="android.intent.action.MAIN" /> </intent-filter>
	 */
	private void addShortCut()
	{
		// 安装的Intent
		Intent shortcut =
				new Intent("com.android.launcher.action.INSTALL_SHORTCUT");

		// 快捷名称
		shortcut.putExtra(Intent.EXTRA_SHORTCUT_NAME, "家居");
		// 快捷图标是允许重复
		shortcut.putExtra("duplicate", false);

		Intent shortcutIntent = new Intent();
		shortcutIntent.putExtra("tName", "家居");
		// shortcutIntent.setClass(mContext, HouseJjActivity.class);
		shortcutIntent.setClassName("com.shangc.houseproperty",
				"com.shangc.houseproperty.ui.activity.TestActivity");
		shortcutIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
		shortcut.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent);

		// 快捷图标
		ShortcutIconResource iconRes =
				Intent.ShortcutIconResource.fromContext(mContext,
						R.drawable.ic_launcher);
		shortcut.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, iconRes);
		// 发送广播
		mContext.sendBroadcast(shortcut);
	}

通过图标启动一个半透明的activity,在这个activity管理小工具什么的。上面注释标红的很重要....刚开始弄了好久都不行,提示应用未安装什么的错误。

当然记得加权限:

<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />
    <uses-permission android:name="com.android.launcher.permission.UNINSTALL_SHORTCUT" />

半透明的activity很简单了.....