【问题标题】:Disabling GCM push notification禁用 GCM 推送通知
【发布时间】:2013-02-02 16:16:55
【问题描述】:

我为我的 Android 应用程序使用 GCM 推送通知,该应用程序基本上是一个即时通讯工具,例如 Line/What's App。在我的应用程序中,即使在用户注销后,推送通知也会继续发生。换句话说,我无法控制通知。

理想情况下,我希望在用户退出应用程序时停止通知并在登录后恢复通知。提前致谢。

【问题讨论】:

  • 你应该分享一下你是如何实现推送通知的,你已经尝试过什么让它们停止并且没有工作。

标签: android google-cloud-messaging


【解决方案1】:

由于不推荐使用 Google unregister() 方法,请改用 InstanceID.deleteInstanceID()

【讨论】:

    【解决方案2】:

    当用户退出时调用此方法GCMRegistrar.unregister(context);停止接收推送消息。

    【讨论】:

    • 意图 unregIntent = new Intent("com.google.android.c2dm.intent.UNREGISTER"); unregIntent.putExtra("app", PendingIntent.getBroadcast(this, 0, new Intent(), 0)); startService(unregIntent);我从谷歌看到这段代码取消注册我的设备,无论如何如何使用这个
    【解决方案3】:

    您必须取消注册您的应用以避免收到进一步的推送通知。您可以使用 GCMRegistrar.unregistrar() 来实现这一点。

    【讨论】:

      【解决方案4】:

      你应该使用SharedPreferences

      您应该有一个包含是否应该提醒用户的值的首选项。 假设,一旦用户注销 - 将首选项值设置为 false。 现在,在 onMessage 方法中的 GCMIntentService 中,检查首选项的值,如果为 false,则什么也不做。

      看看这个例子:

      How to use SharedPreferences in Android to store, fetch and edit values

      【讨论】:

      • 太棒了!我忘了我是在收到 GCM 消息时创建通知...
      猜你喜欢
      • 2015-03-08
      • 1970-01-01
      • 2012-11-27
      • 2016-07-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多