Уведомление Android (не) переключается с активности - PullRequest
1 голос
/ 23 декабря 2010

Я пытался переключиться с табуляции (для этого потребовалось около 1/3 небольшого экрана) на полноэкранные экраны, выбираемые с помощью уведомлений.

Пока все хорошо, все сделано, следуя инструкциям многих практических рекомендаций, всеработает как шарм.(это на эмуляторе SDK)

Теперь я перенес приложение на свой реальный телефон Android и теперь оно не переключает экраны с помощью уведомлений.он ВСЕГДА открывает MainActivity.

private void DroiDCNotification(int NotificationID, CharSequence tickerText, CharSequence contentTitle, CharSequence contentText) {
    //throw new UnsupportedOperationException("Not yet implemented");
    String ns = Context.NOTIFICATION_SERVICE;
    NotificationManager mNotificationManager = (NotificationManager) getSystemService(ns);
    int icon = R.drawable.droidc_icon;        // icon from resources
    long when = System.currentTimeMillis();         // notification time
    Context context = getApplicationContext();      // application Context
    Intent notificationIntent = new Intent(this, MainActivity.class);
    PendingIntent contentIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0);
    // the next two lines initialize the Notification, using the configurations above
    Notification notification = new Notification(icon, tickerText, when);
    notification.setLatestEventInfo(context, contentTitle, contentText, contentIntent);
    mNotificationManager.notify(NotificationID, notification);
}

Так как же я могу сделать уведомление, вызванное определенным действием, открытым для указанного действия?

Ответы [ 2 ]

1 голос
/ 23 декабря 2010

Я пытался переключиться с режима просмотра табуляции (для этого потребовалось около 1/3 небольшого экрана) на полноэкранные экраны, выбираемые с помощью уведомлений.

Я не знаю, почему вы думаете, чтохорошая идеяУведомления не предназначены для этой роли.Пожалуйста, используйте меню параметров.

Итак, как я могу сделать уведомление, вызванное определенным действием, открытым для указанного действия?

Это будет выполнять PendingIntent,Ваш PendingIntent упаковывает Intent, идентифицирующий MainActivity.class.Если вы хотите, чтобы он использовал MainActivity.class, измените MyActivity.class на любой класс, который вы пожелаете.

0 голосов
/ 16 августа 2012

Привет. Просто используйте эти двойники в год активности

Intent notificationIntent = new Intent(context, SamplePushActivity.class);
    PendingIntent intent = PendingIntent.getActivity(context, 0, notificationIntent, android.content.Intent.FLAG_ACTIVITY_NEW_TASK);
...