我有一个主屏幕小部件,它有一个图标,如果它已经准备好运行,它会启动/因此将应用程序活动带到堆栈的前面。
如果它已经在运行并且我不想要它,它会破坏活动 - 只需在它点击小部件时从主屏幕将其重新显示。
我已经尝试了所有可能的标志,但没有占上风:FLAG_ACTIVITY_REORDER_TO_FRONT、FLAG_ACTIVITY_BROUGHT_TO_FRONT、FLAG_ACTIVITY_NEW_TASK 等等....
该应用程序的最低 API 为 13,开发设备使用 API 16(真的!)。有什么想法还是我有什么问题?谢谢!
public class AndaeroWidget extends AppWidgetProvider
{
. . .//Some stuff . . .
@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager,int[] appWidgetIds)
{
super.onUpdate(context, appWidgetManager, appWidgetIds);
RemoteViews remoteViews = new RemoteViews(context.getPackageName(), R.layout.home_widget);
// When we click the widget, we want to open our main activity.
Intent launchActivity = new Intent(context, MainActivity.class);
launchActivity.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, launchActivity, 0);
remoteViews.setOnClickPendingIntent(R.id.widget, pendingIntent);;
ComponentName thisWidget = new ComponentName(context, AndaeroWidget.class);
AppWidgetManager manager = AppWidgetManager.getInstance(context);
manager.updateAppWidget(thisWidget, remoteViews);
}
. . .
}