When I click, The fragment doesn't open. What am I doing wrong? This is my gcm code. I don't see any error in log chat. The notification works, I think there is not any problem.
Can anyone help me with this issue ?
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);
}
In pIntent you left the "new Intent()" empty
PendingIntent pIntent=PendingIntent.getActivity(this,0,new Intent(),0);
Also, instead of calling a fragment directly you should instead call the hosting activity. This is because the fragment doesn't exist on it's own and has to be attached to an Activity.
Check this question How to open fragment page, when pressed a notification in android
Please note that it is highly advisable to migrate from GCM to FCM here is a guide to help you https://developers.google.com/cloud-messaging/android/android-migrate-fcm