当前位置:
编程学堂 > 系统重新启动我的进程后,AppWidget 单击丢失,
系统重新启动我的进程后,AppWidget 单击丢失,
|
我正在制作一个应用程序小部件,但单击事件有问题,当系统终止小部件的进程并稍后重新启动时,单击事件会丢失。屏幕旋转后也会发生这种情况。
针对 SDK 版本 7 构建,并在模拟器 (2.1) 和 2.3.3 的真实设备上运行
我的 onUpdate 方法:
public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
for (int wid : appWidgetIds) {
Log.i(TAG, \"onUpdate 小部件 #\" + wid);
Intent意图 = new Intent(context, MyClass.class);
Intent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, wid);
PendingIntent clickIntent = PendingIntent.getActivity(context, 0, 意图, PendingIntent.FLAG_UPDATE_CURRENT);
RemoteViews widget = new RemoteViews(context.getPackageName(), R.layout.widget);
widget.setOnClickPendingIntent(R.id.widget_layout, clickIntent);
appWidgetManager.updateAppWidget(wid, widget);
}
super.onUpdate(上下文, appWidgetManager, appWidgetIds);
}
其中 R.id.widget_layout 是应用程序线性布局的 ID。我也尝试将此单击事件添加到文本视图中,但结果相同。我已经研究这个问题好几天了,发现一些人有同样的问题,但没有解决方案对我有用:(我也尝试了不同的待处理意图标志,但没有成功。
第二个问题是,当我将另一个应用程序小部件添加到主屏幕时,它不会对单击事件做出反应。在 logcat 中,我看到来自 onUpdate 方法“onUpdate widget #xy”的消息,但 appwidget 对点击没有反应。只有放置在主屏幕上的第一个应用程序小部件才会对点击做出反应,但仅限于一段时间内。有任何想法吗?