Я испытываю странное поведение с моим приложением для Android при работе с уведомлением, которое создается из BroadcastReceiver, когда на мобильное устройство приходит сообщение C2DM.Поток, который я выполняю, чтобы испытать это поведение, является следующим:
- Запустите мое приложение, отображается DashboardActivity;
- Закройте приложение, нажав кнопку «Домой» или кнопку «Назад»;
- Получите push-сообщение и создайте уведомление;
- Щелкните элемент уведомления, и действие BookingOfferActivity будет запущено;
- Закройте BookingOfferActivity, нажав кнопку возврата домой или назад или вызвав финиш ()
- Длительно нажмите кнопку возврата домой и выберите мое приложение из недавних приложений
- BookingOffcerActivity отображается вместо DashboardActivity
BookingOfferActivity запускается из уведомления с использованием следующего кода:
Intent notificationIntent = new Intent(context, BookingOfferActivity.class);
notificationIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
Bundle b = new Bundle();
b.putSerializable("booking", booking);
notificationIntent.putExtras(b);
PendingIntent contentIntent = PendingIntent.getActivity(context, 0, notificationIntent, 0);
Notification notification = new Notification(icon, tickerText, when);
notification.setLatestEventInfo(context, contentTitle, contentText, contentIntent);
long[] vibrate = {0,100,200,300};
notification.vibrate = vibrate;
notification.flags = Notification.FLAG_AUTO_CANCEL;
NotificationManager mNotificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
mNotificationManager.notify(AppUtil.getNextPushIndexBooking(), notification);
BookingOfferActivity определяется в AndroidManifest следующим образом:
<activity android:name=".activity.BookingOfferActivity"
android:label="@string/app_name"
android:screenOrientation="portrait" />
и мойDashboardActivity определяется следующим образом:
<activity android:name=".activity.DashboardActivity"
android:label="@string/app_name"
android:configChanges="orientation|keyboardHidden"
android:windowSoftInputMode="stateHidden|adjustPan">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
Причина, по которой я называю это странным поведением, заключается в том, что я хотел бы запускать DashboardActivity каждый раз, когда мое приложение запускается или перезапускается пользователем, а не элементом уведомления.Поэтому после закрытия, завершения или уничтожения BookingOfferActivity и повторного открытия приложения путем доступа к недавно открытому приложению (долгое нажатие на кнопку «Домой») или доступа к значку средства запуска в списке приложений я хотел бы увидеть панель инструментов.
Я создаювопрос похож на этот, но я не предоставил слишком много подробностей, поэтому я закрыл другой и открыл этот с большим количеством данных.
Большое спасибо за любые рекомендации о том, как решить эту проблему
T * 1034