Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# OnActivityResult(蓝牙)中的意图数据为空_C#_Android_Xamarin_Android Intent_Bluetooth - Fatal编程技术网

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
,除非文档中另有规定(尽管我不知道会保留您的额外组件)。