【问题标题】:startActivity does not work after passing data from current activity into new intent将数据从当前活动传递到新意图后 startActivity 不起作用
【发布时间】:2017-01-20 01:01:20
【问题描述】:
 public void DoneBtnClicked(View v) {
        if (mCameraData != null) {
            Intent intent = new Intent(this,ShowResultCamActivity.class);
            intent.putExtra("jmxs.utrack.camera_data",mCameraData);
            startActivity(intent);
        } else {
            Toast.makeText(CameraActivity.this, "No Camera Data.", Toast.LENGTH_SHORT)
                    .show();
            setResult(RESULT_CANCELED);
            finish();
        }
    }

嗨,我正在创建一个相机应用程序,上面的代码是一个在拍摄图像后调用的函数,我想将该图像传递给一个新的活动来处理它。

mCameraData 是字节[]。

问题:startActivity(intent);没用。

尝试过:我可以传递一个 INT 并且它可以工作,但是当我尝试传递 byteArray 或位图时它没有。

是因为尺寸吗?

【问题讨论】:

  • 您的数据有多大?限制小于 500 kb
  • after an image is taken and I want to pass that image to a new activity to process it - 通过使用一个 Activity 和多个片段来解决这个问题。 Android 并不意味着不使用 Intents 传递位图,它显然可以,但不应将其作为一种久经考验的方法来依赖...

标签: android android-intent android-camera


【解决方案1】:

是的,可以通过 Intent 传递的数据大小是有限制的。限制为roughly 500Kb - 大多数照片都会比这个大。

考虑将图像保存到文件位置,将 URI 传递给接收活动并在其中加载它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-11
    • 2015-08-30
    • 2020-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多