2012-06-01 6 views
0

Я пишу приложение, которое меняет яркость экрана. Я также использую сторонний виджет, который меняет яркость экрана и отображает текущее значение яркости. Моя программа и сторонний виджет имеют разные функции, и я хочу продолжать использовать их оба. Однако, когда мое приложение меняет яркость экрана, сторонний виджет автоматически не обновляется, чтобы отразить это изменение. Итак, я задаю следующие вопросы:Возможно ли обновить сторонние виджеты?

  • Возможно ли, чтобы мое приложение вызывало виджет стороннего разработчика для обновления?

  • Если да, это делается путем обновления каждого виджета на телефоне или я могу настроить таргетинг на этот конкретный виджет (например, по имени пакета)?

ответ

1

Возможно ли мое заявление назвать 3 участника виджет в обновлении?

Нелегко и, возможно, совсем нет.

Если да, то это делается путем обновления каждый виджет на телефоне

AFAIK, это не представляется возможным.

или можно настроить целевой виджет (например, по имени пакета)?

У вас не было бы выбора в этом вопросе.

Единственный способ, которым это может работать, - это вызывать sendBroadcast() с тем же Intent, что система будет использовать для обновления виджета сторонних разработчиков. Вам нужно будет указать ComponentName другого приложения AppWidgetProvider. И у вас нет способа узнать, что идентификаторы виджета приложения для этого конкретного Intent дополнительно. Если сторонний AppWidgetProvider ожидает чего-то в этой широковещательной рассылке (например, идентификаторы виджета приложения), которую вы не предоставляете, это, скорее всего, сбой. Также возможно, что эта трансляция защищена и не может быть отправлена ​​другими приложениями - я никогда не пробовал это.

+0

Да, это звучит так, как я подозревал. Однако подумал, что это стоит того. Благодаря! – osweetman

Смежные вопросы