处理Result.Canceled OnActivityResult

时间:2018-05-28 17:29:57

标签: android xamarin onactivityresult startactivityforresult

我想创建一个功能,要求打开蓝牙直到用户这样做。 我有要求用户启用蓝牙的代码:

 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");
        }

如果我点击确定我可以在输出窗口中看到确定,但是当我按下取消时,任何评论都没有显示。

1 个答案:

答案 0 :(得分:0)

引用android developper:

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以下的例子: 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;
       }
}