Android GCM:令牌void上的sendRegistrationIdToBackend语法错误

时间:2013-11-26 09:07:11

标签: android syntax-error google-cloud-messaging

我正在关注谷歌提供的Android GCM教程,我收到以下错误:

就行:

private void sendRegistrationIdToBackend() {
  // Your implementation here.

}

Token“Void”上的语法错误,@ expected。

语法错误插入“enum Identifier”以完成EnumHeader。

使用,编译器1.6

非常感谢你。

整个功能:

private void registerInBackground() {
    new AsyncTask() {
        @Override
        protected String doInBackground(Void... params) {
            String msg = "";
            try {
                if (gcm == null) {
                    gcm = GoogleCloudMessaging.getInstance(context);
                }
                regid = gcm.register(SENDER_ID);
                msg = "Device registered, registration ID=" + regid;

                // You should send the registration ID to your server over HTTP,
                // so it can use GCM/HTTP or CCS to send messages to your app.
                // The request to your server should be authenticated if your app
                // is using accounts.
                sendRegistrationIdToBackend();

                // For this demo: we don't need to send it because the device
                // will send upstream messages to a server that echo back the
                // message using the 'from' address in the message.

                // Persist the regID - no need to register again.
                storeRegistrationId(context, regid);
            } catch (IOException ex) {
                msg = "Error :" + ex.getMessage();
                // If there is an error, don't just keep trying to register.
                // Require the user to click a button again, or perform
                // exponential back-off.
            }
            return msg;
        }

        @Override
        protected void onPostExecute(String msg) {
            mDisplay.append(msg + "\n");
        }
    }.execute(null, null, null);
    /**
     * Sends the registration ID to your server over HTTP, so it can use GCM/HTTP
     * or CCS to send messages to your app. Not needed for this demo since the
     * device sends upstream messages to a server that echoes back the message
     * using the 'from' address in the message.
     */
    private void sendRegistrationIdToBackend() {
      // Your implementation here.

    }
}

1 个答案:

答案 0 :(得分:0)

您似乎忘了关闭registerInBackground()方法。

}

之后添加}.execute(null, null, null);

另一种看待它的方法是将private void sendRegistrationIdToBackend() {}放在registerInBackground()方法中,这是错误的。