我正在使用消息传递应用程序,当他位于我的应用程序上的其他activty
或另一个应用程序上时,它会发送用户通知,但是如果用户位于MessagingActivity.java
上,它将仅更新聊天记录,而不会发送任何通知完全可以,但是当用户使用MessagingActivity.java
的同时出现问题时,则同时出现电子邮件或其他情况时,用户将MessagingActivity.java
保持打开状态并检查该应用,如果在此期间出现消息,则用户没有收到任何通知
public void parseRequest(Bundle extras) {
if (extras.containsKey("for") && extras.containsKey("recipientID")) {
if (Integer.parseInt(extras.getString("recipientID")) == M.getID(this)) {
switch (extras.getString("for")) {
case "chat":
if (isRunning("MessagingActivity")) {
Intent intent = new Intent("update_messages_list");
intent.putExtra("data", extras);
sendBroadcast(intent);
} else {
Intent resultIntent = new Intent(this, MessagingActivity.class);
resultIntent.putExtra("conversationID", Integer.parseInt(extras.getString("conversationID")));
resultIntent.putExtra("recipientID", Integer.parseInt(extras.getString("ownerID")));
M.showNotification(getApplicationContext(), resultIntent,
extras.getString("ownerUsername"),
extras.getString("message"),
Integer.parseInt(extras.getString("conversationID")));
}
最佳答案
让我知道您如何检查MessageActivity是否正在运行,即isRunning(“ MessagingActivity”)方法的功能。如果您要设置任何全局布尔变量来检查该变量,并在该活动的onDestroy()方法中将isRunning值设置为false,则根据Activity的生命周期,直到您的活动结束才调用它,即在您的情况下,用户只是从MessageActivity切换邮寄。