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

跳转GalleryActivity后Android模拟器停止运行,未声明Activity报错如何解决

问题原因

报错日志已经明确指向根因:你创建的GalleryActivity没有在AndroidManifest.xml中完成注册。Android系统要求所有应用内置的Activity组件必须提前在清单文件中声明,否则启动时无法找到对应组件,就会抛出ActivityNotFoundException导致应用直接崩溃。

另外就算完成注册,当前的GalleryActivity代码还有隐藏bug,跳转后依然会崩溃,需要同步修复。

解决步骤
  • 第一步:在AndroidManifest.xml中注册GalleryActivity
    打开项目的app/src/main/AndroidManifest.xml文件,在<application>标签内部添加如下注册代码:
<activity
    android:name=".GalleryActivity"
    android:exported="false" />

如果你的GalleryActivity不在应用主包下,把android:name的值替换为类的全路径,比如报错里的pickture.GalleryActivity即可。

  • 第二步:修复GalleryActivity的空指针问题
    当前GalleryActivity没有加载布局,也没有初始化imageView变量,跳转后调用setImageURI会触发空指针崩溃,修改代码如下:
    首先创建布局文件res/layout/activity_gallery.xml,示例内容:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <ImageView
        android:id="@+id/iv_gallery"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />
</LinearLayout>

然后修改GalleryActivity的代码:

public class GalleryActivity extends AppCompatActivity {
    ImageView imageView;
    private static final int PICK_IMAGE = 100;
    Uri imageUri;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            // 加载布局
            setContentView(R.layout.activity_gallery);
            // 初始化ImageView
            imageView = findViewById(R.id.iv_gallery);
            Intent gallery = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.INTERNAL_CONTENT_URI);
            startActivityForResult(gallery, PICK_IMAGE);
    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
            super.onActivityResult(requestCode, resultCode, data);
            if (resultCode == RESULT_OK && requestCode == PICK_IMAGE) {
                    imageUri = data.getData();
                    imageView.setImageURI(imageUri);
            }
    }
}

做完以上两步即可解决崩溃问题,实现点击头像跳转相册选图的功能。

内容的提问来源于stack exchange,提问作者chen abien

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 13:15:03