Добавление/удаление ярлыка на домашний экран

  1. public void addShortcut(Context ctx, Class startClass) {
  2.     if (startClass==null || ctx == null) return;
  3.     // Adding shortcut on Home screen
  4.     Intent shortcutIntent = new Intent(ctx, startClass);
  5.  
  6.     shortcutIntent.setAction(Intent.ACTION_MAIN);
  7.  
  8.     Intent addIntent = new Intent();
  9.     addIntent.putExtra("duplicate", false);
  10.     addIntent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent);
  11.     addIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME, ctx.getString(R.string.app_name));
  12.     addIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE,
  13.              Intent.ShortcutIconResource.fromContext(ctx, R.drawable.ic_launcher));
  14.  
  15.     addIntent.setAction("com.android.launcher.action.INSTALL_SHORTCUT");
  16.     ctx.sendBroadcast(addIntent);
  17. }
  18.  
  19. public void removeShortcut(Context ctx, Class startClass) {
  20.     if (startClass==null || ctx == null) return;
  21.     // Deleting shortcut for MainActivity on Home screen
  22.     Intent shortcutIntent = new Intent(ctx, startClass);
  23.  
  24.     shortcutIntent.setAction(Intent.ACTION_MAIN);
  25.  
  26.     Intent addIntent = new Intent();
  27.     addIntent.putExtra("duplicate", false);
  28.     addIntent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent);
  29.     addIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME, ctx.getString(R.string.app_name));
  30.     addIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE,
  31.         Intent.ShortcutIconResource.fromContext(ctx, R.drawable.ic_launcher));
  32.     addIntent.setAction("com.android.launcher.action.UNINSTALL_SHORTCUT");
  33.     ctx.sendBroadcast(addIntent);
  34. }
Нужны права
  1. <uses-permission
  2.     android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />
  3. <uses-permission
  4.     android:name="com.android.launcher.permission.UNINSTALL_SHORTCUT" />

Реклама

Мы в соцсетях

tw tg yt gt