应用程序强制停止/杀死后,Widget Pending Intent将无法工作

时间:2012-06-29 18:57:34

标签: android android-intent android-widget

我有一个小部件,它是我的主应用程序的一部分。通常在更新应用程序时,会创建一个PendingIntent,在单击窗口小部件时将用户带到主应用程序中的Activity。但是,当主应用程序由于错误而被OS强制停止或终止时,小部件在单击时停止响应。我相信它也会停止接收广播,因为没有调用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>

小部件代码与主应用程序位于一个单独的包中。

1 个答案:

答案 0 :(得分:4)

  

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

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

然而,“由于错误而被OS杀死”不应该具有这种效果AFAIK。如果您可以创建一个可重现的测试用例来演示这一点,请将其发布到某处,以便我们对其进行检查。