Как узнать, когда устройство установлено на всегда обнаруживаемое? - PullRequest
0 голосов
/ 07 января 2019

Я хочу, чтобы мое устройство всегда можно было обнаружить. Итак, я

установить значение дополнительного элемента EXTRA_DISCOVERABLE_DURATION равным 0

как описано в документах .

Моя проблема возникает, когда мне нужно проверить resultCode в onActivityResult().

Если пользователь отвечает «Да», , тогда устройство становится доступным для указанное количество времени. Ваша деятельность получает вызов обратный вызов onActivityResult () с кодом результата , равным Продолжительность , что устройство может быть обнаружено. Если пользователь ответил «Нет» , или если произошла ошибка, код результата будет RESULT_CANCELED .

Задача

  • Код результата, когда устройство установлено на постоянное обнаружение, равен нулю.
  • Константа RESULT_CANCELED равна нулю.

В коде:

@Override
    protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
        if (requestCode == DISCOVERABILITY_REQUEST_CODE){
            // Compilation error because the two constants have the same value
            switch (resultCode){
                case ALWAYS_DISCOVERABLE: // zero
                    doSomethingWhenRespondedIsYes();
                    break;
                case RESULT_CANCELED: // zero
                    doSomethingWhenRespondIsNo();
                    break;
            }
        }
    }

Как я узнаю, когда пользователь ответил Да (устройство всегда должно быть доступно для обнаружения) или Нет?

...