#android #android-widget
#Android #android-виджет
Вопрос:
Добрый вечер.
Я видел, что есть люди с подобными вопросами, но я полагаю, что мой немного отличается, поскольку я еще не нашел решения.
Я разработал базовый виджет, который отображает процент заряда батареи, и сегодня два человека сказали мне, что они не могут добавить мой виджет на свой домашний экран, потому что он не отображается ни в списке виджетов, ни в списке установленных приложений. Им пришлось удалить его из Android Market.
Я не уверен, что это ошибка в их AppWidgetPicker.apk или ошибка в моем манифесте, поскольку мои виджеты работают на большинстве устройств. Не стесняйтесь искать «энрике роша» в маркете и установите мой «Виджет батареи», чтобы узнать, есть ли у вас такая же проблема.
В Eclipse я получаю следующие ошибки: Активность запуска не найдена! При запуске будет синхронизирован только пакет приложения на устройстве!
Я не знаю, может ли это быть проблемой, из-за которой виджет не отображается в списке виджетов.
Поскольку у меня нет активности, ни действия по настройке, ни добавления обоих действий.ГЛАВНАЯ и категория.ЗАПУСК моего тега intent-filter внутри моего тега receiver не решил проблему, я прошу вашей помощи.
Вот мой полный манифест, если это поможет.
<uses-sdk android:minSdkVersion="3" />
<application android:icon="@drawable/battery" android:label="@string/app_name">
<receiver android:name="BatteryAppWidgetProvider">
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
</intent-filter>
<meta-data android:name="android.appwidget.provider"
android:resource="@xml/appwidget_info" />
</receiver>
<!-- Service to maintain widget alive -->
<service android:name="BatteryService" />
</application>
И вот мой appwidget_info.xml:
<?xml version="1.0" encoding="utf-8"?>
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
android:minWidth="72dip"
android:minHeight="72dip"
android:updatePeriodMillis="0"
android:initialLayout="@layout/main"
>
</appwidget-provider>
Ответ №1:
Ну, вы правы, поскольку это виджет, вы не можете запустить его из Eclipse: нет активности с фильтром намерений запуска.
Включите весь ваш манифест, чтобы мы могли быть уверены, что вы ничего больше не упускаете Из списка поставщиков AppWidget, должны быть указаны все приемники, которые обрабатывают AppWidgetManager.Намерение ACTION_APPWIDGET_UPDATE, которое у вас есть, но также содержит метаданные XML AppWidgetProviderInfo. Если у вас есть это, оно должно надежно работать на каждом телефоне, который каким-то образом не заблокирован. Я бы проверил, используют ли люди, сообщающие, что это не работает, альтернативные средства выбора виджетов.
Комментарии:
1. Спасибо. Один из них использует Cyanogen 98, и я попросил его заменить его appwidgetpicker. apk, чтобы узнать, в этом ли проблема. Я отредактировал свой вопрос, чтобы включить полный манифест и XML метаданных виджета.