4

我有一个小部件,它是我的主应用程序的一部分。通常在更新应用程序时,会创建一个 PendingIntent,当单击小部件时将用户带到主应用程序中的一个 Activity。但是,当主应用程序由于错误被操作系统强制停止或杀死时,小部件在单击时停止响应。我相信它也会停止接收广播,因为没有调用 onReceive 方法。

这是我在清单中的内容:

<receiver android:name=".widgets.AppWidget" android:label="@string/widget_name">
    <intent-filter>
        <action android:name="android.appwidget.action.APPWIDGET_UPDATE"/>
        <action android:name="com.myApp.android.widgets.CLICK.start"></action>
    </intent-filter>
    <meta-data android:name="android.appwidget.provider"
                     android:resource="@xml/appWidget_provider"/>
</receiver>

小部件代码位于与主应用程序不同的包中。

4

1 回答 1

4

但是,当主应用程序由于错误被操作系统强制停止或杀死时,小部件在单击时停止响应。我相信它也会停止接收广播,因为没有调用 onReceive 方法。

在 Android 3.1+ 上,如果用户强制关闭您,您的应用小部件肯定会停止工作,直到用户通过其他方式(例如,主屏幕启动器)手动启动您的一项活动。

但是,“由于错误而被操作系统杀死”不应该产生这种影响 AFAIK。如果您可以创建一个可重现的测试用例来证明这一点,请将其发布在某个地方以便我们进行检查。

于 2012-06-29T19:24:14.677 回答