如何创建一个导致非启动器活动的快捷方式?

时间:2011-01-13 10:28:04

标签: android shortcut

我想在Android应用中创建一个快捷方式,它会导致另一个不是应用启动器的活动。

2 个答案:

答案 0 :(得分:20)

要创建快捷方式,您需要一个特制的活动,必须:

  • 在AndroidManifest.xml中定义一个带有android.intent.action.CREATE_SHORTCUT操作的intent过滤器。
  • 返回包含实际快捷方式的结果,一个Intent。快捷方式本身由另一个Intent表示。

当您长按桌面并选择“快捷方式”时,此活动将显示。

当然,快捷方式本身并没有多大用处,因此您必须为要由快捷方式触发的任何活动添加意图过滤器。意图过滤器应匹配您为快捷方式选择的任何意图。

我写了一篇关于这个主题的小方法,它有更多细节:http://www.kind-kristiansen.no/2010/android-adding-desktop-shortcut-support-to-your-app/

请告诉我,如果该帖子中有任何不清楚的地方,我会尽力清除它。

答案 1 :(得分:1)

我开发了一种方法,用于在Android主屏幕上创建快捷方式图标。只需打电话。

private void ShortcutIcon(){

    Intent shortcutIntent = new Intent(getApplicationContext(), MainActivity.class);
    shortcutIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    shortcutIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

    Intent addIntent = new Intent();
    addIntent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent);
    addIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME, "Test");
    addIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, Intent.ShortcutIconResource.fromContext(getApplicationContext(), R.drawable.ic_launcher));
    addIntent.setAction("com.android.launcher.action.INSTALL_SHORTCUT");
    getApplicationContext().sendBroadcast(addIntent);
}

不要忘记更改您的活动名称,图标资源。快乐的编码!!!