Ich arbeite an einem Android-Anwendung in der Nähe, und ich versuche,() zu Nachrichten in der Nähe über die nahe Nachrichten API von Google zu abonnieren, habe ich eine Verbindung mit dem GoogleApiClient aber Beim Abonnieren erhalte ich den Fehler TOO_MANY_PENDING_INTENT.TOO_MANY_PENDING_INTENT Fehler beim Abonnieren von Google in der Nähe Nachrichten API
hier ist mein Code:
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()));
}
}
});
}
Und mein Manifest:
<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" />
...
Hat bitte jemand eine Vorstellung von diesem Problem? Danke :)
den Code jemals funktioniert immer gesetzt 'mSubscribed' zu wahr? Wenn nicht, wird 'getPendingIntent()' jedes Mal aufgerufen, wenn die 'subscribe() 'Methode aufgerufen wird. – davidgyoung
Ja, in meiner onCreate() Methode: if (savedInstanceState! = Null) mSubscribed = savedInstanceState.getBoolean (KEY_SUBSCRIBED, false); Ich kopiere einfach den Code von der Google Developers-Website. –
Wie sieht der Code für getPendingIntent() aus? Stellen Sie sicher, dass Sie immer die gleiche Absicht verwenden (einschließlich des gleichen Anfragecodes, aber die Extras können unterschiedlich sein). Auch Neustart sollte alles löschen, versuchen Sie es und sehen Sie, wenn Sie den Fehler erneut erhalten. –