Закрепленные ярлыки Минимальный уровень API в документации, несовместимой с кодом - PullRequest
0 голосов
/ 05 июля 2018

как сказано в документации:

Если ваше приложение предназначено для Android 7.1 (уровень API 25) или выше, вы можете определить ярлыки для определенных действий в вашем приложении.

  • Закрепленные ярлыки публикуется во время выполнения, а также использует API-интерфейс ShortcutManager. В течение во время выполнения ваше приложение может попытаться закрепить ярлык, после чего пользователь получает диалоговое окно подтверждения, запрашивающее его разрешение закрепить ярлык. Закрепленный ярлык появляется в поддерживаемых средствах запуска, только если пользователь принимает запрос закрепления. Ссылка

Так что должно быть возможно использовать закрепленные ярлыки в самом API уровне 25 и выше, но в коде я получаю сообщение об ошибке Calls require API level 26.

Это происходит для всех PinShortcut Методы, подобные:

if (android.os.Build.VERSION.SDK_INT >=  Build.VERSION_CODES.N_MR1)
            ShortcutManager shortcutManager = getSystemService(ShortcutManager.class);
            if (shortcutManager.isRequestPinShortcutSupported()) {
               //do something
            }
}

или

shortcutManager.createShortcutResultIntent(pinShortcutInfo);

эти строки кода получают, и API Level 26 требуется ошибка.

В чем проблема? Почему Document и SDK говорят разные вещи? и как я могу решить это?

1 Ответ

0 голосов
/ 06 июля 2018

Хотя ShortcutManager был добавлен в API 25, некоторые из его методов были добавлены позже в API 26.

Из документации видно, что в API 26 были добавлены методы isRequestPinShortcutSupported и createShortcutResultIntent .

Другими словами:

  • В API 25 вы можете включить ярлыки в своем приложении, но пользователь должен добавить эти ярлыки на домашний экран вручную, если он этого хочет.
  • В API 26 вы можете запросить автоматическое добавление этих ярлыков на домашний экран, используя эти два новых метода.
...