Android:使用任务管理器杀死后小部件停止接收任何意图/

发布于 2024-12-11 08:37:18 字数 1419 浏览 1 评论 0原文

我有一个应用程序,其中一个 .apk 文件中有一个小部件。

小部件对传入的短信和其他特定于应用程序的事件做出反应。当用户单击它时,它还会启动主要活动。

问题是,当用户启动一个活动(单击小部件或从应用程序菜单中 - 无关紧要)然后使用任务管理器终止应用程序时 - 我的小部件停止接收任何意图(如 TIME_TICK)。

我知道我的问题的解决方案存在(我在android市场中看到应用程序,这些小部件能够在被用户杀死后启动活动)

清单:

<?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>

I've got an application with a widget in one .apk file.

Widget reacts on incoming sms and other app-specific events. And also it launches the main activity when user clicks on it.

The problem is that when user starts an activity (clicking on a widget or from applications menu - doesn't matter) and then kills an application using task manager - my widget stops receiving any intents (like TIME_TICK).

I know that solution for my problem exists (I saw apps in android market which widgets are able to launch an activity after it was killed by user)

Manifest:

<?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>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

躲猫猫 2024-12-18 08:37:18

可能您需要一个服务 http://developer.android.com/reference/ android/app/Service.html
而不仅仅是活动。服务监控传入的短信。

Probably you need to have a service http://developer.android.com/reference/android/app/Service.html
instead of just activity. Service monitors incoming sms.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文