0

我正在开发一个 android 附近的应用程序,我正在尝试通过 Google 的附近消息 API 订阅()附近的消息,我设法连接到 googleApiClient 但是在订阅时,我收到了一个 TOO_MANY_PENDING_INTENT 错误。

这是我的代码:

    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" /> 
...

请问有人知道这个问题吗?谢谢 :)

4

1 回答 1

0

确保您在清单文件和 build.gradle 中提供的包名称相同,并且在获取 API 密钥时应使用相同的名称

于 2016-06-29T08:34:27.963 回答