安装后如何为应用程序添加主屏幕快捷方式
How can I add homescreen shortcut for app after installing
如何在启动应用程序之前将应用程序的快捷方式添加到 Android 主屏幕?
我需要在安装应用程序后立即添加。
如果您在安装应用程序自动创建快捷方式后在 google Play 商店中发布您的应用程序,但如果您想处理该应用程序 Android 为我们提供了一个意图 class com.android.launcher.action.INSTALL_SHORTCUT 可用于将快捷方式添加到主屏幕。在下面的代码片段中,我们创建了一个 activity MainActivity 的快捷方式,名称为 HelloWorldShortcut。
首先,我们需要将权限 INSTALL_SHORTCUT 添加到 android 清单 XML。
<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 对象 activity。此意图对象作为 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);
}
如何在启动应用程序之前将应用程序的快捷方式添加到 Android 主屏幕?
我需要在安装应用程序后立即添加。
如果您在安装应用程序自动创建快捷方式后在 google Play 商店中发布您的应用程序,但如果您想处理该应用程序 Android 为我们提供了一个意图 class com.android.launcher.action.INSTALL_SHORTCUT 可用于将快捷方式添加到主屏幕。在下面的代码片段中,我们创建了一个 activity MainActivity 的快捷方式,名称为 HelloWorldShortcut。
首先,我们需要将权限 INSTALL_SHORTCUT 添加到 android 清单 XML。
<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 对象 activity。此意图对象作为 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);
}