2016-05-29 138 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密钥

相关问题