我有一个小部件,它是我的主应用程序的一部分。通常在更新应用程序时,会创建一个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>
小部件代码与主应用程序位于一个单独的包中。
答案 0 :(得分:4)
但是,当主应用程序由于错误而被OS强制停止或终止时,小部件在单击时停止响应。我相信它也会停止接收广播,因为没有调用onReceive方法。
在Android 3.1+上,如果用户强制关闭您,您的应用小部件肯定会停止工作,直到用户通过其他方式手动启动您的某项活动(例如,主屏幕启动器)。
然而,“由于错误而被OS杀死”不应该具有这种效果AFAIK。如果您可以创建一个可重现的测试用例来演示这一点,请将其发布到某处,以便我们对其进行检查。