2016-05-29 41 views
0

我正在使用附近的Android附近的應用程序,並試圖通過附近的Google消息API訂閱()附近的消息,但我設法連接到了googleApiClient,但是訂閱時,我收到TOO_MANY_PENDING_INTENT錯誤。訂閱Google附近消息時出現TOO_MANY_PENDING_INTENT錯誤API

這裏是我的代碼:

private void subscribe() { 
    if (mSubscribed) { 
     Log.i(TAG, "Already subscribed."); 
     return; 
    } 

    SubscribeOptions options = new SubscribeOptions.Builder() 
      .setStrategy(Strategy.BLE_ONLY) 
      .build(); 


    Nearby.Messages.subscribe(mGoogleApiClient, getPendingIntent(), options) 
      .setResultCallback(new ResultCallback<Status>() { 
       @Override 
       public void onResult(@NonNull Status status) { 
        if (status.isSuccess()) { 
         Log.i(TAG, "Subscribed successfully."); 
         startService(getBackgroundSubscribeServiceIntent()); 
        } else { 
         Log.e(TAG, "Operation failed. Error: " + 
           NearbyMessagesStatusCodes.getStatusCodeString(
             status.getStatusCode())); 
        } 
       } 
      }); 
} 

我的清單:

<uses-feature 
    android:name="android.hardware.bluetooth_le" 
    android:required="true" /> 

<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.BLUETOOTH" /> 
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" /> 
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> 
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 
<!-- This is required for the scan library. --> 
<uses-permission android:name="android.permission.WAKE_LOCK" /> 

<application 
    android:allowBackup="true" 
    android:label="@string/app_name" 
    android:supportsRtl="true" 
    android:theme="@style/AppTheme"> 

    <meta-data 
     android:name="com.google.android.nearby.messages.API_KEY" 
     android:value="AIzaSyB6hlT5939qLK2HORZoeiHx2vytqKrtFHA" /> 

    <activity android:name=".uid.Main2Activity"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN"/> 

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

    <service 
     android:name="org.physical_web.uid.BackgroundSubscribeIntentService" 
     android:exported="false" /> 
... 

是否有人有一個想法,這個問題好嗎? 謝謝:)

+0

有過不設置'mSubscribed'的代碼相同,應使用真正?如果沒有,每次調用顯示的'subscribe()'方法時都會調用'getPendingIntent()'。 – davidgyoung

+0

是的,在我的onCreate()方法:if(savedInstanceState!= null)mSubscribed = savedInstanceState.getBoolean(KEY_SUBSCRIBED,false);我只是複製粘貼從谷歌developpers網站的代碼。 –

+1

getPendingIntent()的代碼是什麼樣的?確保始終使用相同的意圖(包括相同的請求代碼,但額外功能可能不同)。重新啓動也應該清除所有內容,嘗試一下,看看是否再次出現錯誤。 –

回答

0

確保您已在清單文件和給定的build.gradle你的包名是相同的,在獲取API密鑰

相關問題