Что такое ограничение скорости для ярлыков приложений Android?

Согласно документации для ярлыков приложений

Ограничение скорости При использовании методов setDynamicShortcuts(), addDynamicShortcuts() или updateShortcuts() имейте в виду, что эти методы можно вызывать только определенное количество раз в фоновом приложении, приложении без действий или служб в настоящее время. на переднем плане. В производственной среде вы можете сбросить это ограничение скорости, выведя свое приложение на передний план.

Что такое ограничение скорости в связи с ярлыками приложений? когда следует использовать isRateLimitingActive()?

2 ответа

Решение
  1. Глядя на исходный код, кажется, что isRateLimitingActive() Метод возвращает false, если у вас нет оставшихся вызовов ShortcutManager API (отсюда и "0"). Я предполагаю, что ограничение скорости необходимо, потому что API является ресурсоемким. Я могу представить, что, по крайней мере, произойдет следующее, если вы обновите ярлык:

    • Приложение запуска (и другие слушатели) должно быть уведомлено и начинает обновлять свой пользовательский интерфейс или все, что нужно (зависит от запуска);
    • Система должна хранить новую динамическую информацию о ярлыках;
  2. Вы можете использовать этот метод, чтобы узнать, если вызов setDynamicShortcuts(), addDynamicShortcuts() или же updateShortcuts() удастся, даже не пытаясь сделать это.

Источник:

/**
 * Return {@code true} when rate-limiting is active for the caller application.
 *
 * <p>See the class level javadoc for details.
 *
 * @throws IllegalStateException when the user is locked.
 */
public boolean isRateLimitingActive() {
    try {
        return mService.getRemainingCallCount(mContext.getPackageName(), injectMyUserId())
                == 0;
    } catch (RemoteException e) {
        throw e.rethrowFromSystemServer();
    }
}

Бонус: setDynamicShortcuts(), addDynamicShortcuts() или же updateShortcuts() вернуть false, если они не удалось из-за ограничения скорости.

Рекомендуемое максимальное количество ярлыков - 4, хотя можно опубликовать до 5. Вы можете прочитать больше здесь.

Другие вопросы по тегам