我想创建一个功能,要求打开蓝牙直到用户这样做。 我有要求用户启用蓝牙的代码:
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");
}
如果我点击确定我可以在输出窗口中看到确定,但是当我按下取消时,任何评论都没有显示。
答案 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;
}
}