0

Когда я нажимаю, фрагмент не открывается. Что я делаю не так? Это мой код gcm. Я не вижу ошибок в чате журналов. Уведомление работает, я думаю, что нет никаких проблем.Android gcm уведомление открытый фрагмент

Может ли кто-нибудь помочь мне с этой проблемой?

protected void onHandleIntent(Intent intent) { 


     extras=intent.getExtras(); 

     GoogleCloudMessaging gcm= GoogleCloudMessaging.getInstance(this); 


     String messageType=gcm.getMessageType(intent); 

     mes=extras.getString("title"); 
     //showToast(); 
     Log.e("Gcm Reciever : ", "(" + messageType + ")" + extras.getString("title")+" /// "); 
     //Log.e("Messaj : ",mes); 
     GcmBroadcastReceiver.completeWakefulIntent(intent); 
     showToast(); 
    } 
    public void showToast(){ 

     PendingIntent pIntent=PendingIntent.getActivity(this,0,new Intent(),0); 

     Notification noti=new Notification.Builder(this) 
       .setContentText(extras.getString("message")) 
       .setContentTitle(extras.getString("title")) 
       .setContentIntent(pIntent) 
       .setSmallIcon(R.drawable.mylogoticker) 
       .setTicker("Evren Time") 
       .getNotification(); 

     noti.flags=Notification.FLAG_AUTO_CANCEL; 

     noti.defaults |= Notification.DEFAULT_VIBRATE; 
     noti.sound = Uri.parse("android.resource://"+getPackageName()+"/"+R.raw.bildirim); 
     noti.ledARGB = 0xff00ff00; 
     noti.ledOnMS = 300; 
     noti.ledOffMS = 1000; 
     noti.flags |= Notification.FLAG_SHOW_LIGHTS; 

     noti.contentIntent=PendingIntent.getActivity(this,0,new Intent(this,MyFragment.class), 
       PendingIntent.FLAG_UPDATE_CURRENT); 

     NotificationManager manage=(NotificationManager)getSystemService(NOTIFICATION_SERVICE); 

     manage.notify(0, noti); 

    } 

ответ

1

В pIntent вы оставили «новый Intent()» пустой

PendingIntent pIntent=PendingIntent.getActivity(this,0,new Intent(),0); 

Кроме того, вместо вызова фрагмента непосредственно вместо него вы должны назвать хостинг деятельности. Это связано с тем, что фрагмент не существует сам по себе и должен быть привязан к Activity.

Проверить этот вопрос How to open fragment page, when pressed a notification in android

Пожалуйста, обратите внимание, что крайне желательно перейти от GCM к FCM здесь руководство, чтобы помочь вам https://developers.google.com/cloud-messaging/android/android-migrate-fcm