我正在使用消息传递应用程序,当他位于我的应用程序上的其他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切换邮寄。

09-26 06:51