Android requestPinAppWidget возвращает false после недавней установки - PullRequest
1 голос
/ 03 июня 2019

У меня проблемы с AppWidgetManager::requestPinAppWidget

Иногда метод requestPinAppWidget возвращает false.Мы воспроизводим его, удаляя приложение и устанавливая заново из новой версии с помощью android studio.Мы можем последовательно воспроизводить его на устройствах Samsung и Pixel, используя этот код:

@RequiresApi(Build.VERSION_CODES.O)
private fun showWidgetAddingActivity(context: Context) {
    val appWidgetManager = context.applicationContext.getSystemService(AppWidgetManager::class.java)
    val myProvider = ComponentName(context.applicationContext, WidgetActionsReceiver::class.java)

    val launcherSupported = appWidgetManager.requestPinAppWidget(myProvider,null, null)
}

значение launcherSupported будет false, если мы запустим его после новой установки (или в течение нескольких минут после этого),И это будет true в любом другом случае

Вызов appWidgetManager.isRequestPinAppWidgetSupported всегда возвращает true, когда это происходит.

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

1 Ответ

0 голосов
/ 04 июня 2019

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

...