0

Android でアプリ エンジンの調査を開始したばかりで、リンクをたどって、App Engine Connected Android プロジェクトの作成方法を教えてくれました。 https://developers.google.com/eclipse/docs/endpoints-androidconnected-gae

私はリンクに書かれていることを正確に従った、

1) 新しいアプリ エンジン接続の Android プロジェクトを作成しました

2) https://code.google.com/apis/console/#projectからプロジェクト番号と API キーを取得します。

3) Google API コンソールで Google Cloud Messaging を有効にする

4) CloudEndpoints クラスで LOCAL_ANDROID_RUN を true に設定します

5) google api(v17) でエミュレーターを使用

6) Android SDK Manager から Android クラウド メッセージング ライブラリをインストールしました

7) 日食インディゴを使用しています

localhost:8888 を開始しましたが、Web 上では問題なく動作しますが、エミュレーターを実行して登録ボタンを押すと、すぐに停止し、logcat を確認すると、このエラーが表示されます。それについて

    03-26 13:03:48.766: E/AndroidRuntime(915): FATAL EXCEPTION: IntentService[GCMIntentService-525241845095-1]
    03-26 13:03:48.766: E/AndroidRuntime(915): java.lang.NullPointerException
    03-26 13:03:48.766: E/AndroidRuntime(915):  at       com.tesst.GCMIntentService.onRegistered(GCMIntentService.java:144)
    03-26 13:03:48.766: E/AndroidRuntime(915):  at com.google.android.gcm.GCMBaseIntentService.handleRegistration(GCMBaseIntentService.java:251)
    03-26 13:03:48.766: E/AndroidRuntime(915):  at com.google.android.gcm.GCMBaseIntentService.onHandleIntent(GCMBaseIntentService.java:153)
    03-26 13:03:48.766: E/AndroidRuntime(915):  at android.app.IntentService$ServiceHandler.handleMessage(IntentService.java:65)
    03-26 13:03:48.766: E/AndroidRuntime(915):  at android.os.Handler.dispatchMessage(Handler.java:99)
    03-26 13:03:48.766: E/AndroidRuntime(915):  at android.os.Looper.loop(Looper.java:137)
    03-26 13:03:48.766: E/AndroidRuntime(915):  at android.os.HandlerThread.run(HandlerThread.java:60)

誰かが私が抱えている問題を解決するのを手伝ってくれたら幸いです。ありがとう

4

1 に答える 1

0

これを狭く見ると、existingInfo が null である可能性があります。

より広く言えば、onRegistered 関数でエンドポイントを実行しているように見えます。まず、エンドポイントの呼び出しは同期操作であるため、onRegistered では実行しないでください。

私があなたのコードを正しく理解している場合は、それを変更する必要があります。エンドポイント コードから GCM コードを「分離」することをお勧めします。

また、GCM を実装するための手順を確認することをお勧めします:
http://developer.android.com/google/gcm/gs.html

于 2013-03-27T19:00:29.553 に答える