0

Wenn ich klicke, öffnet sich das Fragment nicht. Was mache ich falsch? Das ist mein gcm-Code. Ich sehe keinen Fehler im Log-Chat. Die Benachrichtigung funktioniert, ich denke, es gibt kein Problem.Android gcm Benachrichtigung geöffnet Fragment

Kann mir jemand bei diesem Problem helfen?

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); 

    } 

Antwort

1

In pIntent links können Sie die "new Intent()" leer

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

Auch stattdessen ein Fragment direkt zu rufen Sie stattdessen die Hosting-Aktivität aufrufen sollte. Dies liegt daran, dass das Fragment nicht selbst existiert und an eine Aktivität angehängt werden muss.

prüfen diese Frage How to open fragment page, when pressed a notification in android

Bitte beachten Sie, dass es sehr ratsam ist von GCM zu wandern hier FCM ist eine Anleitung, um Ihnen https://developers.google.com/cloud-messaging/android/android-migrate-fcm

Verwandte Themen