我appwidget
有listview
。我们可以在这里看到一些信息
1) 此小部件不适用于 2.x。但是这个设备上的用户在他的列表中看到这个小部件并且可以在屏幕上移动它。在他得到错误之后。我可以在 2.x 上隐藏这个小部件吗?Ofcouse,我可以将此小部件的标题设置为“MyWidget ...(3.x-4.x)。但我认为这不好。
2) 第二期。在单击小部件时,我打开我的应用程序之一activity
(widgetAct)。这不是主要活动。widgetAct 显示为对话框。一切正常,但是...如果我打开主要活动,然后单击 HOME,而不是 BACK。现在单击小部件,打开我的 widgetAct,但在背景上我也看到了主要活动。
3)另一种情况。打开 widgetAct。看到这个活动。单击返回。现在长按:查看上次启动的应用程序。单击我的应用程序(其中包含 widgetAct)并查看此 widgetAct。但是想查看我的应用程序的主要活动或任何其他活动,而不是 widgetAct。
我尝试不同的情况:添加FLAG_ACTIVITY_NO_HISTORY
, FLAG_ACTIVITY_NEW_TASK
, FLAG_ACTIVITY_CLEAR_TOP
. 但没有任何帮助:
Intent i = new Intent(ctx, myActivityCls); i.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, widgetId);
i.setFlags(i.getFlags() | Intent.FLAG_ACTIVITY_NO_HISTORY | Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);
PendingIntent pi = PendingIntent.getActivity(ctx, 0, i, PendingIntent.FLAG_UPDATE_CURRENT);
remoteViews.setOnClickPendingIntent(viewId, pi);
我明白了,我的 widgetAct 打开时只有FLAG_ACTIVITY_NEW_TASK
标志。