如何在android中启用和禁用GCM?

时间:2014-01-21 07:31:30

标签: android push-notification google-cloud-messaging

我在我的应用程序中使用GCM进行推送通知。我有一个屏幕,用户可以在其中启用或禁用通知 任何人都可以告诉我如何以编程方式启用和禁用GCM。

我看过这篇文章Android GCM Enable/Disable中的以下代码,但不清楚接收器

PackageManager pm = getApplicationContext().getPackageManager();
pm.setComponentEnabledSetting(receiver,
PackageManager.COMPONENT_ENABLED_STATE_ENABLED,PackageManager.DONT_KILL_APP);

提前致谢。

2 个答案:

答案 0 :(得分:8)

如果您指的是允许用户启用/禁用应用程序通知的Android设置(在Android 4.1中添加,如果我没记错),我认为您无法以编程方式更改该设置。

但是,如果您指的是自己应用中的设置屏幕,则可以通过取消注册GCM(GoogleCloudMessaging.unregister)来禁用通知。这应该会阻止消息到达您设备上的应用程序,直到您再次注册GCM。

或者,如果您希望您的应用继续接收消息但停止向用户显示消息,则可以在共享首选项中存储一个标志,指示GCM是否已启用。然后处理传入GCM消息的代码将检查此标志以决定如何处理消息。

答案 1 :(得分:1)

根据Google 不推荐使用unregister()方法。

而是使用InstanceID.deleteToken()InstanceID.deleteInstanceID()