处理移动数据而不是Wi-Fi的Azure通知

时间:2016-01-01 18:30:16

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

我正在使用 Azure Notification Hub 在我的Android应用程序中实现推送通知功能。一切似乎都很好;我只有一个问题。

只有当我使用移动数据连接到互联网时,才能在我的设备上获得推送通知;一旦我关闭移动数据并通过Wi-Fi连接,我就无法收到任何推送通知消息。

我正在缩小我的搜索范围,因为第一次注册存在一些问题。它只允许该模式(在我的情况下,移动数据)接收任何推送消息。

注册时,我使用以下代码:

    NotificationsManager.handleNotifications(this, SENDER_ID, NotificationsReceiver.class);
    gcm = GoogleCloudMessaging.getInstance(this);
    hub = new NotificationHub(HubName, HubListenConnectionString, this);
    registerWithNotificationHubs();
.
.
.
private void registerWithNotificationHubs() {
        new AsyncTask() {
            @Override
            protected Object doInBackground(Object... params) {
                try {
                    String regid = gcm.register(SENDER_ID);
                    DialogNotify("Registered Successfully", "RegId : " +
                            hub.register(regid).getRegistrationId());
                } catch (Exception e) {
                    DialogNotify("Exception", e.getMessage());
                    return e;
                }
                return null;
            }
        }.execute(null, null, null);
    }

1 个答案:

答案 0 :(得分:1)

...尤里卡!!!! :)这是Google Play服务的一个问题。 移动数据打开时它已连接,但没有连接到Wi-Fi。 罪魁祸首是 IPv6 。 只需禁用IPv6 ,一切就像魅力一样。

检查Google Play服务是否正常运作;从您手机的拨号器拨打此代码: *#*#426#*#* 并验证是否已连接。

注意:在Wi-Fi连接上,您可以在Play商店中获取许多应用以禁用IPv6。我使用 IPv6工具应用程序来禁用IPv6。