在 Titanium 中,如何根据推送到达时应用程序是否打开来以不同方式处理推送?
当收到推送通知并且我的应用程序正在运行时,我想弹出一条消息,将用户带到通知引用的项目。如果应用程序关闭,并且用户点击推送通知并导致应用程序打开,我想将用户直接带到该项目而不弹出窗口。
Titanium 的 registerForPushNotifications 似乎只有一个回调,“callback”,当推送到达时,无论应用程序的状态如何,都会调用该回调。根据收到推送通知时如何判断我的 iPhone 应用程序是否正在运行? https://stackoverflow.com/questions/1998196/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“暂停”事件时切换为 true,并在 Ti.App“恢复”事件时切换回 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)
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)