Откройте фрагмент при нажатии уведомления в AndroidAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Откройте фрагмент при нажатии уведомления в Android

Сообщение Anonymous »

Я пытаюсь открыть фрагмент, когда нажимаю уведомление на панели уведомлений.
Структура моего приложения следующая:
  • базовое действие с меню навигационного ящика
  • и некоторый фрагмент, который открывается из меню
Когда я нажимаю уведомление, действие снова открывается, но не в указанном фрагменте, а в LogCat данные из указанного фрагмента выглядят открывающимися и загружаемыми, но не с помощью пользовательского интерфейса.

Код уведомления:

Код: Выделить всё

       NotificationCompat.Builder  mBuilder =
new NotificationCompat.Builder(this);
mBuilder.setContentTitle("Comanda Noua");
mBuilder.setContentText("S-a introdus o comanda noua");
mBuilder.setTicker("Comanda noua!");
mBuilder.setSmallIcon(R.drawable.calculator_icon);
mBuilder.setAutoCancel(true);//inchide notificare dupa ce s-a dat click pe ea

//creste numar notificare
mBuilder.setNumber(++numMessages);

// cream un intent
Intent resultIntent = new Intent(this, MainActivity.class);

//am setat actiune pentru a deschide fragmentul corespunzator notificartii la apasare
resultIntent.setAction("Action1");
TaskStackBuilder stackBuilder = TaskStackBuilder.create(this);
stackBuilder.addParentStack(MainActivity.class);

// Adds the Intent that starts the Activity to the top of the stack
stackBuilder.addNextIntent(resultIntent);
PendingIntent resultPendingIntent =
stackBuilder.getPendingIntent(0, PendingIntent.FLAG_UPDATE_CURRENT);

mBuilder.setContentIntent(resultPendingIntent);

mNotificationManager =(NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);

// notificationID allows you to update the notification later on.
mNotificationManager.notify(notificationID, mBuilder.build());
Код, в котором я открываю фрагмент при нажатии уведомления:

Код: Выделить всё

 Intent intent = getIntent();
try{
String action = intent.getAction();
// Log.d("action:",action);

if(action.equals("Action1")){
//Log.d("deschidem agenda:",action);
AgendaFragment fragment = new AgendaFragment();
FragmentTransaction transaction = getFragmentManager()
.beginTransaction();
transaction.replace(R.id.frame_container, fragment)
.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN)
.addToBackStack(null).commit();
}else{
Log.d("eroare", "Intent was null");
}
}catch(Exception e){
Log.e("eroare", "Problem consuming action from intent", e);
}
Почему действие открывается, а фрагмент нет?

Подробнее здесь: https://stackoverflow.com/questions/244 ... in-android
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»