You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android Studio中Bitmap相关代码报Cannot resolve putExtra错误如何解决

问题原因

你混淆了Intent的读写数据API:

  • putExtra()是向Intent中写入数据的方法,没有可用于链式调用get()方法的返回值,自然会触发方法找不到的报错
  • 从回传Intent中读取附加数据需要调用getExtras()方法获取存储数据的Bundle对象,再从Bundle中取出对应键的Bitmap值

修正后代码

@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    // 先做有效性判断,避免空指针崩溃
    if (requestCode == 100 && resultCode == RESULT_OK && data != null) {
        Bundle extras = data.getExtras();
        if (extras != null) {
            Bitmap bitmap = (Bitmap) extras.get("BitmapImage");
            // 高版本安卓也可以用更规范的类型安全读取方式
            // Bitmap bitmap = Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU ? 
            //         extras.getParcelable("BitmapImage", Bitmap.class) : 
            //         (Bitmap) extras.getParcelable("BitmapImage");
            if (bitmap != null) {
                PsId.setImageBitmap(bitmap);
            }
        }
    }
}

补充注意点

如果传输的Bitmap体积较大,不建议直接通过Intent传值,更推荐把Bitmap存到本地缓存,仅传输路径字符串降低跨页面传输开销,避免出现事务过大的异常。

内容的提问来源于stack exchange,提问作者Shainnah Jane

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 05:06:02