gpt4 book ai didi

android - 处理后台通知

转载 作者:搜寻专家 更新时间:2023-11-01 08:20:16 25 4
gpt4 key购买 nike

我正在构建一个应用程序并决定使用 Firebase 的云消息传递。我遇到的问题是我不知道如何处理我收到的通知数据。据我所知,当您从后台打开通知时,您会对启动器 Activity 中从服务器发送的数据有所了解。所以我的启动器 Activity 中有这样的东西:

Intent intentOpen;
String message = getIntent().getStringExtra("message");

if(message != null) {
intentOpen = new Intent(this, MainActivity.class);
if (message.equals(this.getResources().getString(R.string.new_shared_file))) {
intentOpen.putExtra(MainActivity.nType, "SHARING");
} else {
intentOpen.putExtra(MainActivity.nType, "SERVICES");
}
}
}

在我的主要 Activity 中,我想获取 nType 以确定应打开哪个 fragment :

public static String nType = "notification_type";

if (getIntent().hasExtra(nType)) {
String notification = getIntent().getStringExtra(nType);
if (notification.equals("SHARING")) {
displayView(R.id.nav_shared_files);
} else {
displayView(R.id.nav_account);
}
} else if (savedInstanceState == null) {
displayView(R.id.nav_online_files);
}

那么我如何将字符串传递到主要 Activity (我在其他两个 Activity 之后到达)。或者是否有其他方式(例如从服务器端)将字符串获取到主要 Activity ?

提前感谢您的回答。

最佳答案

当然,例如,您可以使用实例创建枚举类:

public enum DataManager {
INSTANCE;
private String data;

public void setData(String data) {
this.data = data;
}

public String getData() {
return data;
}
}

所以在第一个 Activity 中,当您获取数据时调用:

DataManager.INSTANCE.setData("whateverdata");

在 Activity 中你需要你调用的数据:

String savedData = DataManager.INSTANCE.getData();

关于android - 处理后台通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52151799/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com