Android: виджет перестает получать любые намерения после уничтожения с помощью диспетчера задач / - PullRequest
0 голосов
/ 21 октября 2011

У меня есть приложение с виджетом в одном файле .apk.

Виджет реагирует на входящие смс и другие специфичные для приложения события.А также запускает основное действие, когда пользователь нажимает на него.

Проблема заключается в том, что когда пользователь запускает действие (щелчок по виджету или из меню приложений - не имеет значения), а затем убивает приложение, используя задачуменеджер - мой виджет перестает получать какие-либо намерения (например, TIME_TICK).

Я знаю, что решение для моей проблемы существует (я видел приложения на Android Market, виджеты которых могут запускать действия после того, как они были убиты пользователем)

Манифест:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:a="http://schemas.android.com/apk/res/android"
          package="ru.studiomobile">
    <application a:icon="@drawable/icon" a:label="@string/app_name">
        <!-- Widget -->
        <receiver a:name=".widget.WidgetProvider" a:label="@string/app_name">
            <intent-filter>
                <action a:name="android.MyWidget.ACTION_ON_WIDGET_CLICK"/>
                <action a:name="android.MyWidget.ACTION_CHANGE_DAY_NIGHT"/>
            </intent-filter>
            <meta-data a:name="android.appwidget.provider"
                       a:resource="@xml/widget_provider"/>
        </receiver>

        <service a:name=".widget.UpdateService" a:label="UpdateService"
                a:exported="false">

            <intent-filter>
                <action a:name="android.MyWidget.ACTION_ON_WIDGET_CLICK"/>
                <action a:name="android.MyWidget.ACTION_CHANGE_DAY_NIGHT"/>
            </intent-filter>
        </service>
    </application>
</manifest>

1 Ответ

0 голосов
/ 21 октября 2011

Вероятно, вам нужна услуга http://developer.android.com/reference/android/app/Service.html, а не просто деятельность.Сервис отслеживает входящие смс.

...