这是我发送推送通知的方法: -
private void sendNotification(String msg) {
mNotificationManager = (NotificationManager) this
.getSystemService(Context.NOTIFICATION_SERVICE);
PendingIntent contentIntent;
Intent intentblank = new Intent(this, LoginActivity.class);
intentblank.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intentblank);
Intent intent = new Intent(this, MainActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
Log.e("message.....", msg);
if (msg.equals("You Have got New Message")) {
Log.e("msg occuring..", "intent enter in message...");
intent.putExtra("KEYMESSAGE", "Message");
} else {
Log.e("notification occuring..", "notification occurs.....");
intent.putExtra("KEYNOTIFICATION", "aman");
}
if (sharedPreferencesUtilities.getEmail().equals("") || sharedPreferencesUtilities.getPassword().equals("")) {
Log.e("blank notification....", "blank notification...........................");
contentIntent =PendingIntent.getActivity(this, 0, intentblank, 0);
} else {
contentIntent = PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
}
mBuilder = (NotificationCompat.Builder) new NotificationCompat.Builder(this)
.setSmallIcon(getNotificationIcon())
.setContentTitle("Telepoh")
.setStyle(new NotificationCompat.BigTextStyle().bigText(msg))
.setContentText(msg)
.setDefaults(Notification.DEFAULT_SOUND | Notification.DEFAULT_VIBRATE);
mBuilder.setContentIntent(contentIntent);
mBuilder.getNotification().flags |= Notification.FLAG_AUTO_CANCEL;
mBuilder.getNotification().flags |= Notification.FLAG_ONGOING_EVENT;
mBuilder.setOngoing(false);
mBuilder.setAutoCancel(true);
mNotificationManager.notify(NOTIFICATION_ID, mBuilder.build());
}
private int getNotificationIcon() {
boolean useWhiteIcon = (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP);
return useWhiteIcon ? R.drawable.push_icon : R.drawable.push_icon;
}
}
我希望当用户退出时,然后点击推送通知,我的应用程序的登录页面就会打开。但在我的情况下,如果用户退出,则应用程序会自动打开。我想在点击推送通知时这样做。
答案 0 :(得分:0)
始终在通知点击时调用登录活动。在登录活动中检查用户是否已登录。如果已登录,请转到主要活动,或者继续登录活动
答案 1 :(得分:0)
使用此:
Intent loginIntent = new Intent(getApplicationContext(),LoginActivity.class);
loginIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK
| Intent.FLAG_ACTIVITY_CLEAR_TASK);
PendingIntent contentIntent = PendingIntent.getActivity(this, 0, loginIntent ,PendingIntent.FLAG_UPDATE_CURRENT);
并将您的startActivity(loginIntent );
置于您的状态以进行登录检查。
答案 2 :(得分:0)
删除以下代码行
startActivity(intentblank);