今天开发Widget遇到一个小问题
App启动后后台, AppWidget不能打开指定Activity, 只能拉起App, 相当于从桌面的ICON进入了App
通过增加 如下flag解决之
Intent.FLAG_ACTIVITY_CLEAR_TASK
private static int requestCode = 0;//如果多次调用getActivity, requestCode 值相同, 会导致Extras是最后一次放进去的值 public static PendingIntent getWidgetPendingIntent(Context context, String page) { final Intent activityIntent = new Intent(context, StartActivity.class); Bundle bundle = new Bundle(); bundle.putString(FTKEY_WIDGET_TO_PAGE, page); activityIntent.putExtras(bundle); activityIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK|Intent.FLAG_ACTIVITY_CLEAR_TASK); final PendingIntent refreshPendingIntent = PendingIntent.getActivity(context, requestCode++, activityIntent, PendingIntent.FLAG_UPDATE_CURRENT); return refreshPendingIntent; }