2012-08-10 75 views
4

我有一個移動應用程序,它註冊到一個c2dm服務器。廣播意圖回調:結果= CANCELLED forIntent

我有一臺服務器向我的應用發送消息,以推送通知。服務器從google c2dm收到ok結果代碼。

在LogCat中,我看到我的應用程序收到消息,但立即產生我在帖子中發生的錯誤。而且我創建的通知也被忽略。

08-10 16:28:09.157: W/GTalkService(13962): [DataMsgMgr] broadcast intent callback: result=CANCELLED forIntent { act=com.google.android.c2dm.intent.RECEIVE pkg=com.example.c2dmclient (has extras) } 

我不明白。 我的清單文件是:

<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.example.c2dmclient" 
    android:versionCode="1" 
    android:versionName="1.0" > 

    <uses-sdk 
     android:minSdkVersion="8" 
     android:targetSdkVersion="15" /> 

    <permission android:name="com.example.c2dmclient.permission.C2D_MESSAGE" android:protectionLevel="signature" /> 
    <uses-permission android:name="com.example.c2dmclient.permission.C2D_MESSAGE" /> 
    <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" /> 
    <uses-permission android:name="android.permission.INTERNET" /> 
    <uses-permission android:name="android.permission.GET_ACCOUNTS" /> 

    <!-- Keeps the processor from sleeping when a message is received. --> 
    <uses-permission android:name="android.permission.WAKE_LOCK" /> 

    <application 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme" > 
     <activity 
      android:name=".MainActivity" 
      android:label="@string/title_activity_main" > 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 


     <receiver 
      android:name=".C2DMRegistrationReceiver" 
      android:permission="com.google.android.c2dm.permission.SEND" > 
      <intent-filter > 
       <action android:name="com.google.android.c2dm.intent.REGISTRATION" > 
       </action> 

       <category android:name="com.example.c2dmclient" /> 
      </intent-filter> 
     </receiver> 
     <receiver 
      android:name=".C2DMMessageReceiver" 
      android:permission="com.google.android.c2dm.permission.SEND" > 
      <intent-filter > 
       <action android:name="com.google.android.c2dm.intent.RECEIVE" > 
       </action> 

       <category android:name="com.example.c2dmclient" /> 
      </intent-filter> 
     </receiver> 

     <activity android:name="com.example.c2dmclient.RegistrationResultActivity" > 
     </activity> 
     <activity android:name="com.example.c2dmclient.MessageReceivedActivity" > 
     </activity> 

    </application> 

</manifest> 

如果有人能幫助我。我不知道

+4

請說明問題,而不是僅僅傾銷一些代碼,並說:「我不明白這一點。」你想做什麼?究竟是什麼問題? – Jesper 2012-08-10 13:48:47

+0

我沒有注意,我很抱歉。 – andrew 2012-08-10 13:51:06

回答

1

最後我發現問題在哪裏。當我創建通知時,在標識ID的位置,我已經把0.現在所有的工作。

+0

什麼是徽標ID? – 2017-08-01 12:24:22

5

根據此forum post當接收應用程序在設備上處於停止狀態(例如,通過使用設置中的強制停止)時,Android 3.1+中會出現這種情況。手動啓動時,它只會再次開始接收消息。

參見this post