订阅附近的服务总是声明订阅成功但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);
}
});
}
}
答案 0 :(得分:1)
您需要将以下内容添加到清单
中 <receiver android:name="BeaconMessageReceiver" >
</receiver>