安装后如何为应用添加主屏幕快捷方式

时间:2018-11-12 01:39:25

标签: java android shortcut

在启动应用程序之前,如何将应用程序的快捷方式添加到Android主屏幕?

我需要在安装应用后立即添加它。

1 个答案:

答案 0 :(得分:2)

如果您在安装应用程序自动创建快捷方式后将您的应用程序发布到Google Play商店中,但是如果您要处理该问题,则Android为我们提供了一个意图类com.android.launcher.action.INSTALL_SHORTCUT,可用于将快捷方式添加到主屏幕。在下面的代码片段中,我们创建了活动MainActivity的快捷方式,名称为HelloWorldShortcut。

首先,我们需要向Android清单XML添加权限INSTALL_SHORTCUT。

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

addShortcut()方法在主屏幕上创建一个新的快捷方式。

private void addShortcut() {
    //Adding shortcut for MainActivity 
    //on Home screen
    Intent shortcutIntent = new Intent(getApplicationContext(),
            MainActivity.class);

    shortcutIntent.setAction(Intent.ACTION_MAIN);

    Intent addIntent = new Intent();
    addIntent
            .putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent);
    addIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME, "HelloWorldShortcut");
    addIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE,
            Intent.ShortcutIconResource.fromContext(getApplicationContext(),
                    R.drawable.ic_launcher));

    addIntent
            .setAction("com.android.launcher.action.INSTALL_SHORTCUT");
    addIntent.putExtra("duplicate", false);  //may it's already there so don't duplicate
    getApplicationContext().sendBroadcast(addIntent);
}

请注意我们如何创建保存目标活动的快捷方式Intent对象。该意图对象作为EXTRA_SHORTCUT_INTENT添加到另一个意图中。

最后,我们广播了新的意图。这样会添加一个快捷方式,名称为EXTRA_SHORTCUT_NAME,图标由EXTRA_SHORTCUT_ICON_RESOURCE定义。

还要放置此代码以避免出现多个快捷方式:

  if(!getSharedPreferences(Utils.APP_PREFERENCE, Activity.MODE_PRIVATE).getBoolean(Utils.IS_ICON_CREATED, false)){
          addShortcut();
          getSharedPreferences(Utils.APP_PREFERENCE, Activity.MODE_PRIVATE).edit().putBoolean(Utils.IS_ICON_CREATED, true);
      }