2013-11-24 42 views
1

我更新到Android,並試圖實現使用谷歌雲端通訊某些應用程序。我最初設置了一個應用程序,現在已經將我的應用程序分成兩個(一個服務器和一個客戶端)。接收包沒有找到,註銷申請

我GCM意圖是工作,但是當我拆我的申請,我分了包。我的舊的應用程序爲<base.package>,現在兩個都<base.package>.client<base.package>.server

現在,我的客戶端應用程序(接收廣播),在我的日誌文件,我看到:

11-24 11:24:47.978: W/GCM/DMM(14909): broadcast intent callback: result=CANCELLED forIntent { act=com.google.android.c2dm.intent.RECEIVE pkg=<base.package> (has extras) } 

11-24 11:24:47.978: W/GCM/DMM(14909): Receiver package not found, unregister application <base.package> sender <project.id> 

我的清單如下:

<!-- Needed for the GCM messaging service --> 
<permission 
    android:name="<base.package>.client.permission.C2D_MESSAGE" 
    android:protectionLevel="signature" /> 

<uses-permission android:name="<base.package>.client.permission.C2D_MESSAGE" /> 


     <!-- Needed to receive GCM broadcasts --> 
    <receiver 
     android:name="com.google.android.gcm.GCMBroadcastReceiver" 
     android:permission="com.google.android.c2dm.permission.SEND" > 
     <intent-filter> 
      <action android:name="com.google.android.c2dm.intent.RECEIVE" /> 
      <action android:name="com.google.android.c2dm.intent.REGISTRATION" /> 

      <category android:name="<base.package>.client" /> 
     </intent-filter> 
    </receiver> 

    <service android:name=".GCMIntentService" > 
    </service> 

因此,它看起來像什麼都有發生了,是我的舊應用<base.package>是不是允許我的新應用與<base.package>.client註冊?這是在谷歌服務器端,還是在我的Eclipse項目中?我怎樣才能清除它?

我有一種感覺,我可以創造一個新的谷歌控制檯項目工程,並從頭開始一個新項目的ID開頭,但我想我不會在所有的方式學習:-)

回答

0

順便說一句,你可以從頭開始,但那不是必要的,好像剛剛創建.client包名稱的新控制檯項目並使用該項目的ID和將做的工作......

+0

所以,當你在你的清單註冊GCM像我一樣,它的永久使用Google的服務中註冊你說什麼?沒有辦法清除它?我的清單中沒有任何內容將我的應用程序鍵入我的特定項目ID,那麼google如何通過包裝知道? – user1871035

0

你納入你的問題只有相關的艙單申報的一部分。在靠近清單的頂端,你應該有一個包含<base.package>.permission<permission><uses-permission>聲明。您應該將它們更改爲<base.package>.client.permission

+0

不幸的是,這不是問題。我忘了在第一篇文章中提到,但我也有這些變化。我只是將它們添加到上面的清單中,以顯示我沒有工作的內容。 – user1871035

+0

@ user1871035是否可能在您的服務器中發送通知中的可選'restricted_pa​​ckage_name'參數?另外,' .client'是您的新應用的主包,如清單頂部定義的那樣? – Eran

+0

我將不得不檢查restricted_pa​​ckage_name。你是說這是在Java代碼中發送GCM消息的實際調用。如果是這樣,我99%肯定我不設置這個領域。要回答第二個問題,是的,在我的清單頂部定義的基礎包定義爲相同的 .client。埃蘭,謝謝你的幫助。 – user1871035