gpt4 book ai didi

android - 在 OneSignal 中打开通知点击应用程序

转载 作者:行者123 更新时间:2023-11-29 15:39:38 26 4
gpt4 key购买 nike

我通过 OneSignal 收到通知,但我想在单击通知时打开应用程序

private static class ExampleNotificationOpenedHandler implements OneSignal.NotificationOpenedHandler {
@Override
public void notificationOpened(String message, JSONObject additionalData, boolean isActive) {

try {
if (additionalData != null) {
if (additionalData.has("actionSelected"))
Log.d("OneSignalExample", "OneSignal notification button with id " + additionalData.getString("actionSelected") + " pressed");
Log.d("OneSignalExample", "Full additionalData:\n" + additionalData.toString());
}
} catch (Throwable t) {
t.printStackTrace();
}

最佳答案

ExampleNotificationOpenedHandler 中添加一个将上下文作为参数的构造函数

private Context mContext;

public ExampleNotificationOpenedHandler(Context context) {
mContext = context;
}

使用ExampleNotificationOpenedHandler 构造函数初始化OneSignal,在应用程序类中包含上下文

public void onCreate() {
super.onCreate();
OneSignal.startInit(this)
.setNotificationOpenedHandler((OneSignal.NotificationOpenedHandler)
new ExampleNotificationOpenedHandler(this))
.init();
}

准备 Intent 并使用上下文开始您的 Activity

@Override
public void notificationOpened(OSNotificationOpenResult result) {
try {
if (additionalData != null) {
Intent intent = new Intent(mContext, DetailsActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT | Intent.FLAG_ACTIVITY_NEW_TASK);
intent.putExtra("key", <additionalData to be sent>);
mContext.startActivity(intent);
}
} catch (Throwable t) {
t.printStackTrace();
}

关于android - 在 OneSignal 中打开通知点击应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42997419/

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