Не удается обнаружить Raspberry Pi с помощью Nearby API

Я работаю над проектом, в котором мне нужно использовать Google Nearby API для связи между Raspberry pi3 (работающим над вещами Android) и мобильным телефоном Android. Я успешно запустил рекламный сервис на Raspberry pi3 и сервис обнаружения на мобильных устройствах. Но я не могу обнаружить Raspberry pi3 на своем мобильном телефоне. Вот мой код-

На Raspberry pi3:

private void startAdvertizing() {

    logging("advertizing initiated");



    Nearby.Connections.startAdvertising(mCLient,"Tinku",getString(R.string.service_id),mConnectionLifecycleCallback
                                        ,new AdvertisingOptions(Strategy.P2P_CLUSTER)).setResultCallback(new ResultCallback<Connections.StartAdvertisingResult>() {
        @Override
        public void onResult(@NonNull Connections.StartAdvertisingResult startAdvertisingResult) {
            if (startAdvertisingResult.getStatus().isSuccess()){
                logging("avertizind success");
            } else {
                logging(startAdvertisingResult.getStatus().getStatusMessage());
            }
        }
    });

}

На мобильной стороне:

 private void startDicovery() {
    Log.d(TAG,"Initializing discovery");
    tv.setText("Initializing discovery");

    EndpointDiscoveryCallback mEndPointDiscoveryCallback = new EndpointDiscoveryCallback() {
        @Override
        public void onEndpointFound(String s, DiscoveredEndpointInfo discoveredEndpointInfo) {
            Log.d(TAG,"Endpoint found");
            tv.setText("Endpoint found");
        }

        @Override
        public void onEndpointLost(String s) {
            Log.d(TAG,"Endpoint Lost, "+s);
            tv.setText("Endpoint Lost, "+s);
        }
    };


    Nearby.Connections.startDiscovery(mCLient,getString(R.string.service_id),mEndPointDiscoveryCallback,new DiscoveryOptions(Strategy.P2P_CLUSTER))
                        .setResultCallback(new ResultCallback<Status>() {
                            @Override
                            public void onResult(@NonNull Status status) {
                                if (status.isSuccess()){
                                    logging("Discovert success");
                                    isDiscovery = true;
                                } else {
                                    logging("Discovery failed "+ status.getStatusMessage());
                                    isDiscovery = false;
                                }
                            }
                        });

}

Я не знаю, чего мне не хватает. Любая помощь будет оценена по достоинству.


person Vidya Sagar    schedule 23.12.2017    source источник


Ответы (1)


Хм, я уже видел, как это работает. Есть пара вещей, которые вы можете попробовать.

1) Проверьте журналы. См. раздел Можно ли отслеживать процесс обнаружения при использовании Google Nearby Connections 2.0?

2) Попробуйте на двух телефонах Android, чтобы убедиться, что код работает. Фрагменты выглядят хорошо, но вы никогда не знаете.

3) Отправьте мне модель и версию сборки ОС Android вашего телефона и устройства Android Things.

person Xlythe    schedule 24.12.2017
comment
Это сработало, когда я искал конкретный идентификатор службы, но этого достаточно для моего проекта. Спасибо - person Vidya Sagar; 26.12.2017