任何人都可以帮我构建我的代码。
我想在点击通知后打开片段。
这是我的代码。
在我的 GcmIntentService 中,我有这段代码。
private void sendNotification(String ttl,String msg, String type, String src) {
mNotificationManager = (NotificationManager)
this.getSystemService(Context.NOTIFICATION_SERVICE);
Intent notificationIntent = new Intent(this, MainActivity.class);
notificationIntent.putExtra("menuFragment", "favoritesMenuItem");
PendingIntent contentIntent = PendingIntent.getActivity(this, 0,notificationIntent, 0);
Bitmap bitmap_logo = BitmapFactory.decodeResource(this.getResources(), R.drawable.m);
Bitmap bitmap_image=getBitmapFromURL(src);
NotificationCompat.Builder mBuilder =
new NotificationCompat.Builder(this)
.setContentTitle(ttl)
.setContentText(msg)
.setLargeIcon(bitmap_logo)
.setSmallIcon(R.drawable.m)
.setStyle(new NotificationCompat.BigPictureStyle()
.bigPicture(bitmap_image)
.setBigContentTitle(ttl)
.setSummaryText(msg))
.setAutoCancel(true);
mBuilder.setContentIntent(contentIntent);
mNotificationManager.notify(NOTIFICATION_ID, mBuilder.build());
}
在我的活动中,这是获取额外内容的地方。
String menuFragment = getIntent().getStringExtra("menuFragment");
FragmentManager fragmentManager = getFragmentManager();
Toast.makeText(MainActivity.this, menuFragment, Toast.LENGTH_SHORT).show();
if (menuFragment != null)
{
if (menuFragment.equals("favoritesMenuItem"))
{
fragmentManager.beginTransaction()
.replace(R.id.container, ContactusFragment.newInstance(customersid))
.commit();
}
}
但附加功能不起作用。
请帮帮我。
答案 0 :(得分:0)
试试这个,
添加此代码,
PendingIntent contentIntent = PendingIntent.getActivity(this, (int) System.currentTimeMillis(), notificationIntent, 0);
而不是
PendingIntent contentIntent = PendingIntent.getActivity(this, 0,notificationIntent, 0);
答案 1 :(得分:0)
在高级别,待定意图是对已存储的引用 意图。待定意图使用输入意图作为定位键 以前建立的此意图的未决意图。关键 找到这个不包括“额外”。所有其他部分 意图参与这种独特性。试试这个
PendingIntent pi = PendingIntent.getActivity(this,0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
有关详细信息,请访问https://groups.google.com/forum/#!topic/android-developers/Fb5fJd_Hc-w
答案 2 :(得分:0)
替换
PendingIntent contentIntent = PendingIntent.getActivity(this, 0,notificationIntent, 0);
与
PendingIntent contentIntent = PendingIntent.getActivity(this, 0,notificationIntent, PendingIntent.FLAG_UPDATE_CURRENT);