C# OnActivityResult(蓝牙)中的意图数据为空
我需要帮助。我想将数据传递给C# OnActivityResult(蓝牙)中的意图数据为空,c#,android,xamarin,android-intent,bluetooth,C#,Android,Xamarin,Android Intent,Bluetooth,我需要帮助。我想将数据传递给回调方法,但得到一个空值 Intent enableBt = new Intent(BluetoothAdapter.ActionRequestEnable); enableBt.PutExtra("Resource", "bluetooth"); StartActivityForResult(enableBt, 1); 及 但是data=null。问题是什么?是的,我们通常需要使用requestCode和resultCode来过滤意图。 此外,我们还需要使用方法S
回调
方法,但得到一个空值
Intent enableBt = new Intent(BluetoothAdapter.ActionRequestEnable);
enableBt.PutExtra("Resource", "bluetooth");
StartActivityForResult(enableBt, 1);
及
但是
data=null
。问题是什么?是的,我们通常需要使用requestCode
和resultCode
来过滤意图。
此外,我们还需要使用方法SetResult
返回结果。
您可以参考以下代码:
第一页
Intent intent = new Intent(this, typeof(SecondActivity));
StartActivityForResult(intent, 0x001);
方法: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();
}
}
}
第二页
var intent = new Intent();
intent.PutExtra("test", "test..123");
SetResult(Result.Ok, intent);
Finish();
是的,我们通常需要使用
requestCode
和resultCode
来过滤意图。
此外,我们还需要使用方法SetResult
返回结果。
您可以参考以下代码:
第一页
Intent intent = new Intent(this, typeof(SecondActivity));
StartActivityForResult(intent, 0x001);
方法: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();
}
}
}
第二页
var intent = new Intent();
intent.PutExtra("test", "test..123");
SetResult(Result.Ok, intent);
Finish();
文档中声明,您可以从中获取的唯一信息是适当的
resultCode
。您不能期望处理该操作的活动
返回任何数据Intent
,更不用说使用您在启动Intent
时设置的任意附加值填充的数据了。这几乎适用于任何启动外部组件的Intent
,除非文档中另有规定(尽管我不知道有什么可以保留您的额外组件)。文档中指出,您可以从中获得的唯一信息是适当的resultCode
。您不能期望处理该操作的活动
返回任何数据Intent
,更不用说使用您在启动Intent
时设置的任意附加值填充的数据了。这几乎适用于任何启动外部组件的Intent
,除非文档中另有规定(尽管我不知道会保留您的额外组件)。