Android创建快捷方式实现

/**
	 * create icon on desktop
	 */
	private void createShortcutIcon() {
		boolean isAdded = isInstallShortcut();
		boolean cIsAdded = ConfigMng.getInstance().loadBooleanKey(ConfigMng.APP_SHORT_CUT_ADDED, false);
		if (isAdded || cIsAdded) {
			return;
		}

		Intent shortcutIntent = new Intent(getApplicationContext(), LoadingActivity.class.getClass());
		shortcutIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
		shortcutIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
		shortcutIntent.setAction("android.intent.action.MAIN");
		shortcutIntent.addCategory("android.intent.category.LAUNCHER");

		Intent addIntent = new Intent();
		addIntent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent);
		addIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME, getString(R.string.app_name));
		addIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE,
				Intent.ShortcutIconResource.fromContext(getApplicationContext(), R.drawable.icon));
		addIntent.setAction("com.android.launcher.action.INSTALL_SHORTCUT");
		getApplicationContext().sendBroadcast(addIntent);

		// save status
		ConfigMng.getInstance().saveBooleanKey(ConfigMng.APP_SHORT_CUT_ADDED, true);
		ConfigMng.getInstance().commit();
	}

	private boolean isInstallShortcut() {
		boolean isInstallShortcut = false;
		final ContentResolver cr = getContentResolver();
		final String AUTHORITY = "com.android.launcher.settings";
		final String AUTHORITY2 = "com.android.launcher2.settings";
		final Uri CONTENT_URI = Uri.parse("content://" +
				AUTHORITY + "/favorites?notify=true");
		final Uri CONTENT_URI2 = Uri.parse("content://" +
				AUTHORITY2 + "/favorites?notify=true");
		Cursor c = cr.query(CONTENT_URI2,
				new String[] { "title", "iconResource" },
				"title=?", new String[] { getString(R.string.app_name) }, null);
		if (c == null) {
			c = cr.query(CONTENT_URI,
					new String[] { "title", "iconResource" },
					"title=?", new String[] { getString(R.string.app_name) }, null);
		}

		if (c != null && c.getCount() > 0) {
			isInstallShortcut = true;
		}
		return isInstallShortcut;
	}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值