Положение ярлыка приложения Android на главном экране

Мне нужно создать ярлык приложения для Android и поместить его в определенное место на главном экране.

Я могу успешно создать ярлык для приложения с помощью следующего кода:

    Intent shortcutIntent = new Intent(getApplicationContext(), MainActivity.class);
    shortcutIntent.setAction(Intent.ACTION_MAIN);

    Intent addIntent = new Intent("com.android.launcher.action.INSTALL_SHORTCUT");
    addIntent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent);
    addIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME, "customizeScreenLayout");
    addIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, Intent.ShortcutIconResource.fromContext(getApplicationContext(), R.mipmap.ic_launcher));
    addIntent.putExtra("duplicate", false);  //may it's already there so don't duplicate
    getApplicationContext().sendBroadcast(addIntent);

Что я могу добавить к приведенному выше коду, чтобы разместить ярлык в определенной позиции на главном экране (т. е. в определенной координате x, y)?


person shilpa sarawagi    schedule 02.11.2016    source источник


Ответы (2)


Я почти уверен, что вы ничего не можете добавить, чтобы обозначить конкретную позицию. Глядя на исходники, похоже, что алгоритм позиционирования новых ярлыков жестко встроен в InstallShortcutReceiver.

Просто из любопытства, если бы был способ сделать то, что вы хотите, что бы вы хотели, чтобы ярлык уже был в указанном месте? Как бы вы справились с различными размерами экрана, когда на главной странице может отсутствовать указанная позиция?

person Ted Hopp    schedule 02.11.2016

Спасибо за быстрый ответ. Проблема, которую я разместил здесь, является лишь частью проекта, в котором я хочу создать приложение, которое проверяет все установленные приложения в системе и создает для них ярлыки. После этого проверяет координаты x, y из базы данных, где нам нужно расположить приложения, и помещает их туда.

Теперь предположим, что было возможно указать определенную позицию, я намеревался сделать следующее: 1) удалить все ярлыки 2) а затем установить ярлыки разных приложений в нужных местах.

Кроме того, здесь предполагается, что я имею дело с фиксированным размером экрана, а обозначенные позиции всегда существуют.

Дайте мне знать, если вы найдете что-то или если вам нужна дополнительная информация.

person shilpa sarawagi    schedule 03.11.2016