【问题标题】:Android - Stop (Intercept) C2DM Push Notification if app is running?Android - 如果应用程序正在运行,则停止(拦截)C2DM 推送通知?
【发布时间】:2012-05-16 07:29:33
【问题描述】:

我已经在我的应用中实现了 C2DM(Android 推送通知)并且一切正常。但是,当我的应用程序运行时,我能够收到通知。如果我的应用程序正在运行,我可以知道如何阻止推送通知进入吗?我只想在我的应用程序未运行时接收推送通知。因为据我所知,APNS(Apple Push Notification Service)会在发送推送通知之前检查应用程序是否正在运行。 C2DM 也这样做吗?

提前谢谢大家!

【问题讨论】:

    标签: android push-notification android-c2dm


    【解决方案1】:

    @Moujib 是对的。我和你面临同样的问题,如果应用程序正在运行,我想停止推送通知。我确实通过使用这里的代码解决了这个问题:http://kpbird.blogspot.com/2011/08/android-check-application-is-running.html

    使用这段代码来检查您的应用是否正在运行。然后,如果应用程序正在运行,我什么也没做,如果它没有运行,我会发送/获取推送通知。希望对您有所帮助!

    【讨论】:

    • 感谢您的回答,很棒的链接。
    【解决方案2】:

    您可以在应用程序运行时禁用通知,换句话说,推送消息仍会发送给您,但您可以控制是否发出通知。

    如果应用程序正在运行或在前台 没有通知 别的 通知...

    【讨论】:

    • 感谢您的回复,@moujib。但是如何检查应用程序是否正在运行/在前台?
    • 这里很简单:stackoverflow.com/questions/3667022/android-is-application-running-in-background/5862048#5862048
    • 谢谢!但是是否可以检查应用程序是否在 c2dm 接收器类中运行?
    • 是的,我认为这是可行的,试试看,当您的应用在 onMessage 回调的前台时收到推送通知时,是否可以弹出日志
    • 嗨,如果我还在应用程序中,我仍然不知道如何阻止通知弹出。你能指导我吗?我很迷茫。
    猜你喜欢
    • 2011-08-07
    • 2011-09-10
    • 1970-01-01
    • 1970-01-01
    • 2012-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多