gpt4 book ai didi

iphone - 如何判断应用程序是由于 Titanium 中的推送通知而打开还是恢复?

转载 作者:行者123 更新时间:2023-12-03 19:01:05 24 4
gpt4 key购买 nike

如何根据推送到达时应用程序是否打开来在 Titanium 中以不同方式处理推送?

当收到推送通知并且我的应用程序正在运行时,我想弹出一条消息,将用户带到通知引用的项目。如果应用程序关闭,并且用户点击推送通知并导致应用程序打开,我希望将用户直接带到该项目而不弹出窗口。

Titanium 的 registerForPushNotifications 似乎只有一个回调,即“callback”,当推送到达时,无论应用程序的状态如何,都会调用该回调。根据How do I tell if my iPhone app is running when a Push Notification is received?您可以在 Objective C 中使用 didReceiveRemoteNotification 和 didFinishLaunchingWithOptions,但 Titanium 似乎没有提供对这些内容的单独访问。

最佳答案

如果用户收到通知,“回调”函数将在“恢复”后立即触发。

所以我会按以下方式处理您的案件:

有一个变量来跟踪应用程序是否暂停(运行时 var is_paused = false; )。is_paused 将在 Ti.App 'pause' 事件时切换为 true,并在 Ti.App 'resume' 事件时切换回 false 状态并超时(1 秒即可)。

然后,您可以通过检查 is_paused var 是 true 还是 false 来在回调函数中拥有不同的功能:

//in notification callback
if(is_paused){
//user is coming from background (do your thing automatically)
}else{
//user is in app (display the alert)
}

关于iphone - 如何判断应用程序是由于 Titanium 中的推送通知而打开还是恢复?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12057576/

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