[英]Intent data is null in OnActivityResult(Bluetooth)
Need help.需要帮忙。 I want to pass data to the
CallBack
method, but I get a null value.我想将数据传递给
CallBack
方法,但我得到一个空值。
Intent enableBt = new Intent(BluetoothAdapter.ActionRequestEnable);
enableBt.PutExtra("Resource", "bluetooth");
StartActivityForResult(enableBt, 1);
and和
protected override void OnActivityResult(int requestCode, [GeneratedEnum] Result resultCode, Intent data)
{
base.OnActivityResult(requestCode, resultCode, data);
var resource = data.GetStringExtra("Resource");
But data = null
.但是
data = null
。 What is the problem?问题是什么?
Yes, we usually need to use requestCode
and resultCode
to filter the intent.是的,我们通常需要使用
requestCode
和resultCode
来过滤intent。 Besides, we also need to use method SetResult
to return the result.此外,我们还需要使用方法
SetResult
来返回结果。 You can refer to the following code:您可以参考以下代码:
The First Page第一页
Intent intent = new Intent(this, typeof(SecondActivity));
StartActivityForResult(intent, 0x001);
method: OnActivityResult方法:OnActivityResult
protected override void OnActivityResult(int requestCode, [GeneratedEnum] Result resultCode, Intent data)
{
base.OnActivityResult(requestCode, resultCode, data);
if (requestCode == 0x001)
{
if (resultCode == Result.Ok)
{
string result = data.GetStringExtra("test");
Toast.MakeText(this,"reslut is: " + result,ToastLength.Short).Show();
}
}
}
The SecondPage第二页
var intent = new Intent();
intent.PutExtra("test", "test..123");
SetResult(Result.Ok, intent);
Finish();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.