2013-10-08 44 views
0

我正在關注在Android上應用GCM客戶端的指南。然而我的擴展WakefulBroadcastReceiver無法找到(WakefulBroadcastReceiver無法解析)。是因爲我的表現嗎?我已經改變了需要的包到我的項目的包,但它並沒有解決問題Android中的WakefulBroadcastReceiver GCM

這裏是我的清單:

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

    <uses-permission android:name="android.permission.INTERNET" /> 
    <uses-permission android:name="android.permission.GET_ACCOUNTS" /> 
    <uses-permission android:name="android.permission.WAKE_LOCK" /> 
    <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" /> 

    <permission 
     android:name="com.example.myapplication.permission.C2D_MESSAGE" /> 

    <uses-permission android:name="com.example.myapplication.permission.C2D_MESSAGE" /> 

    <uses-sdk 
     android:minSdkVersion="14" 
     android:targetSdkVersion="17" /> 

    <application 
     android:allowBackup="true" 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" 
     android:theme="@style/Theme.Sherlock.Light" > 
     <activity 
      android:name="com.example.myapplication.Login" 
      android:label="@string/app_name" > 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
     <activity android:name="com.example.myapplication.fragmentContainer" > 
     </activity> 

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

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

     <service android:name=".GcmIntentService" /> 
    </application> 

</manifest> 

回答

1

發現錯誤,這是我的圖書館已過時。在eclipse中更新源代碼解決了問題

0

我遇到了同樣的問題,最近,和我做了什麼來解決這個問題(嘗試所有其他的事情後)是我的接收機重命名爲這樣的:

<receiver 
     android:name="com.google.android.gcm.GCMBroadcastReceiver" 
     android:permission="com.google.android.c2dm.permission.SEND" > 
     <intent-filter> 
      <!-- Receives the actual messages. --> 
      <action android:name="com.google.android.c2dm.intent.RECEIVE" /> 
      <action android:name="com.google.android.c2dm.intent.REGISTRATION" /> 
      <!-- Receives the registration id. --> 
      <category android:name="your.package.name.GCMIntentService" /> 
     </intent-filter> 

    </receiver> 

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

另外,還要確保你的GCMBroadcastReciever的Java文件是在你的包的根目錄下。