订阅附近的服务 - 从未调用过MessageListener

时间:2017-03-22 07:40:07

标签: android subscribe google-nearby message-listener

订阅附近的服务总是声明订阅成功但MessageListener从未调用过:

MainActivity.java

SubscribeOptions options = new SubscribeOptions.Builder()
            .setStrategy(Strategy.BLE_ONLY).build();
    Nearby.Messages.subscribe(mGoogleApiClient, getPendingIntent(), options);
…
private PendingIntent getPendingIntent() {
    return PendingIntent.getBroadcast(this, 0, new Intent(this, BeaconMessageReceiver.class), PendingIntent.FLAG_UPDATE_CURRENT);
}

BeaconMessageReceiver.java

public class BeaconMessageReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
    Nearby.Messages.handleIntent(intent, new MessageListener() {
        @Override
        public void onFound(Message message) {
            Log.i("BeaconMessageReceiver", "Found message via PendingIntent: " + message);
        }

        @Override
        public void onLost(Message message) {
            Log.i("BeaconMessageReceiver", "Lost message via PendingIntent: " + message);
        }
    });
}
}

1 个答案:

答案 0 :(得分:1)

您需要将以下内容添加到清单

    <receiver android:name="BeaconMessageReceiver" >
    </receiver>