c# - OnActivityResult(Bluetooth) 中的 Intent 数据为空
问题描述
需要帮忙。我想将数据传递给该CallBack
方法,但我得到一个空值。
Intent enableBt = new Intent(BluetoothAdapter.ActionRequestEnable);
enableBt.PutExtra("Resource", "bluetooth");
StartActivityForResult(enableBt, 1);
和
protected override void OnActivityResult(int requestCode, [GeneratedEnum] Result resultCode, Intent data)
{
base.OnActivityResult(requestCode, resultCode, data);
var resource = data.GetStringExtra("Resource");
但是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();
推荐阅读
- jquery - 更新数据库时出错!表或视图不存在
- python - 允许 Django 中的单个模型字段为空,但防止它们全部为空
- xsd - 从 xsd 创建具有许多导入的类
- mysql - 如何更改我的子选择我可以使用 WHERE IN 获得多行?
- python - 如何检查给定的 s3 存储桶中是否存在给定目录或文件夹,如果存在如何从 s3 中删除该文件夹?
- llvm-clang - 无法使用 emmake (Emscripten SDK) 编译 libpd
- python - 在 ubuntu debian9 上安装以前版本的 pip3
- java - 如何在我的 Spring Boot 项目中使用不是依赖项的类
- pandas - 熊猫分层枢轴获取具有最大值的列
- android - 如何在 android 中显示 PDF 和图像?