Скрыть AppWidget из списка выбора на основе Android-версии - PullRequest
2 голосов
/ 30 марта 2012

Я написал приложение для Android, которое содержит два виджета домашнего экрана: один «классический» виджет, который использует функции, доступные с Android 1.6, и виджет «newstyle», который использует функции Honeycomb и более поздних версий для поддержки жестов (стиль StackView) .

Проблема: как я могу скрыть Honeycomb-Widget из диалога выбора виджетов в версии Android до 3.0? В настоящее время я улавливаю эту проблему, когда виджет добавляется на домашний экран, но было бы лучше, если бы виджет вообще не был доступен.

Единственное решение, которое пришло мне в голову: предоставить два разных APK на Android Market, один из которых содержит оба виджета для Android> = 3.0, а другой - только классический для <3.0. Но это вводит дополнительное обслуживание, которого я хочу избежать. </p>

1 Ответ

3 голосов
/ 30 марта 2012

Один «классический» виджет, который использует функции, которые были доступны с Android 1.6

Мне нравится думать об этом как "ретро". : -)

Как скрыть Honeycomb-Widget из диалога выбора виджетов в версии Android до 3.0?

Ах, есть замечательный трюк, который кто-то однажды указал в твите:

Шаг # 1: создайте res/values/bool.xml и определите ресурс @bool/v11 как false

Шаг № 2: Создать res/values-v11/bool.xml и определить @bool/v11 там как true

Шаг # 3: В манифесте, в элементе <provider> для виджета приложения Honeycomb, используйте android:enabled=@bool/v11.

Net: виджет вашего приложения включен только на уровне API 11 и выше.

...