Результат обработки. Отменено в OnActivityResult - PullRequest
0 голосов
/ 28 мая 2018

Я хочу создать функцию, которая запрашивает включение Bluetooth, пока пользователь не сделает это.У меня есть код, который просит пользователя включить Bluetooth:

 var enableBluetooth = new Intent(BluetoothAdapter.ActionRequestEnable);
                    StartActivityForResult(enableBluetooth,1);

И я хочу увидеть результаты, используя OnActivityResult:

protected override void OnActivityResult(int requestCode, [GeneratedEnum] Result resultCode, Intent data)
        {
            base.OnActivityResult(requestCode, resultCode, data);
            if (requestCode  == 1)
            {
                if (resultCode == Result.Ok)
                {
                    Console.WriteLine(" Ok");
                }
                else if (resultCode == Result.Canceled)
                {
                    Console.WriteLine("Canceled");
                }
                else Console.WriteLine("Other Error");
            }else Console.WriteLine("Wrong request code");
        }

И если я нажму Ok, я вижу в выводеОкно ОК, но когда я нажимаю "Отмена", комментарии не отображаются.

1 Ответ

0 голосов
/ 28 мая 2018

Ссылающийся Android-разработчик:

https://developer.android.com/training/basics/intents/result и bluetoothChat: https://github.com/googlesamples/android-BluetoothChat

Попробуйте это как результат действия:

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
        if (requestCode == 1) {
            if (resultCode == RESULT_OK)
                Toast.makeText(getActivity(), "OK",Toast.LENGTH_SHORT).show();
            else 
                Toast.makeText(getActivity(), "NOK", Toast.LENGTH_SHORT).show();
        }
}

На Xamarin следующиеchatexample: https://github.com/googlesamples/android-BluetoothChat

onActivityResult должен выглядеть следующим образом:

public override void OnActivityResult(int requestCode, Result resultCode, Intent data)
{
     switch (requestCode)
     {
          case 1:
              if (Result.Ok == resultCode)
              {
                   Toast.makeText(getActivity(), "OK",Toast.LENGTH_SHORT).show();
              }
              else
              {
                   Toast.makeText(getActivity(), "NOK",Toast.LENGTH_SHORT).show();
              }
              break;
       }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...