我有一个小部件,是我的主应用程序的一部分.通常在更新应用程序时,会创建一个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>
解决方法
However,when the main app is force stopped or killed by the OS because of an error,the widget stops responding when it is clicked. I believe it also stops receiving broadcasts because the onReceive method is not being called.
在Android 3.1上,如果用户强制关闭您,您的应用小部件肯定会停止工作,直到用户通过其他方式手动启动您的某项活动(例如,主屏幕启动器).
但是,“由于错误而被OS杀死”不应该具有这种效果AFAIK.如果您可以创建一个可重现的测试用例来演示这一点,请将其发布到某处,以便我们对其进行检查.