当Google聊天在后台时收到消息时,我在状态栏中没有收到任何通知。
public void showNotification(Context context, String msg, String title,
String fromChatID) {
int id = GTalkChatDetails.friendID.indexOf(fromChatID);
NotificationManager = (NotificationManager) context.getSystemService(NOTIFICATION_SERVICE);
int icon = R.drawable.statusicon;
CharSequence tickerText = msg;
long when = System.currentTimeMillis();
Notification notification = new Notification(icon, tickerText, when);
notification.flags |= Notification.FLAG_AUTO_CANCEL;
notification.flags |= Notification.DEFAULT_SOUND;
CharSequence contentTitle = title;
CharSequence contentText = msg;
Intent notificationIntent = new Intent(context, GTChat.class);
Bundle bun = new Bundle();
bun.putString("name", GTalkChatDetails.name);
bun.putString("chatID", GTalkChatDetails.chatID);
bun.putString("profileImage", GTalkChatDetails.profileImageURL);
bun.putString("fromName", title);
bun.putString("fromChatID", fromChatID);
notificationIntent.putExtras(bun);
PendingIntent contentIntent = PendingIntent.getActivity(context, id,
notificationIntent,PendingIntent.FLAG_ONE_SHOT);
notification.setLatestEventInfo(context, contentTitle, contentText,contentIntent);
mNotificationManager.notify(id, notification);
getCurrentActivity(context, msg, title, fromChatID);
}
public void getCurrentActivity(Context context, String msg,
String fromName, String fromChatID) {
ActivityManager am = (ActivityManager) context
.getSystemService(ACTIVITY_SERVICE);
List<RunningTaskInfo> taskInfo = am.getRunningTasks(1);
ComponentName componentInfo = taskInfo.get(0).topActivity;
if (componentInfo.getClassName().startsWith("com.project")) {
showNotification(context, msg, fromName, fromChatID);
} else {
showNotification(context, msg, fromName, fromChatID);
}
}
答案 0 :(得分:1)
if (to.equals(fromName)&¬ify_checkbox==true) {
Notification(message.getBody(),fromName, name);
}
else
System.out.println("recieved msg" );
protected void Notification(String body, String fromName, String Notificationmsg) {
NotificationManager notificationManager = (NotificationManager)getSystemService(NOTIFICATION_SERVICE);
String tickerText = getString(R.string.app_name, body);
Notification notif = new Notification(R.drawable.ic_launcher, tickerText,
System.currentTimeMillis());
Intent notificationIntent = new Intent(this, PresentChatActivity.class);
PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0);
notif.setLatestEventInfo(PresentChatActivity.this,Notificationmsg, message, pendingIntent);
notif.setLatestEventInfo(getApplicationContext(), fromName, body,pendingIntent );
notificationManager.notify(10001, notif);
}