【发布时间】:2014-10-17 20:56:11
【问题描述】:
尝试从活动返回字节数组时遇到了一些麻烦。返回码是:
private void returnLocation(byte[] mapImage) {
Intent intent = new Intent();
intent.putExtra("mapImage", mapImage);
setResult(RESULT_OK, intent);
finish();
}
编辑:这是我调用并尝试在父活动中接收它的方式:
....
Intent i = new Intent(getActivity(), ChildActivity.class);
ParentFragment.this.startActivityForResult(i, 255);
...
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if(requestCode == 255) {
if(resultCode == Activity.RESULT_OK) {
mImage = data.getByteArrayExtra("mapImage");
}
}
}
我在 onActiviyResult 上有一个断点,当我尝试返回一个字节数组时,它永远不会被命中。
但是,当尝试返回意图时,它会返回到第一个活动(而不是调用它的活动)。我在记录器中看不到任何表明存在问题的东西。
如果我将 Extra 值更改为“5”(整数),它会返回正常。
我在尝试传回字节数组时是否遗漏了什么?
谢谢
【问题讨论】:
-
请在第二个活动中发布您如何获取额外内容
-
这就是问题所在,当传递一个字节数组时,它不会命中第二个活动。如果传递了一个整数,它会这样做。
-
它可能取决于第二个活动的代码......
-
我已经添加了代码。 onActivityResult 上有一个断点,当返回一个再见数组时它永远不会被命中,但如果我返回一个整数