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

点击按钮启动MainActivity时应用崩溃,求排查原因及解决方法

问题排查与解决办法

看你的Logcat报错和代码,问题其实很清晰——系统找不到能处理你创建的Intent的Activity,主要有两个原因:

1. 代码里的Intent字符串存在语法错误

你写的Intent目标字符串是:

"com.tjdroid.higherorlower.MainActivity}"

末尾多了一个多余的闭合大括号},这会导致系统识别不到正确的目标标识。

2. 用Action方式启动Activity的配置缺失

就算去掉多余的括号,直接用字符串Action启动Activity,也需要在AndroidManifest.xml中给目标Activity配置对应的Intent过滤器,不然系统无法匹配到对应的Activity。


推荐解决方案(最常用、最不易出错的方式)

直接通过类名创建Intent来启动MainActivity,这种方式不需要额外配置Manifest,代码更直观:

fun playAgain() {
    btnPlayAgain.setOnClickListener {
        // 把「当前Activity名」替换成这个按钮所在的Activity类名,比如this@ResultActivity
        val intent = Intent(this@当前Activity名, MainActivity::class.java)
        startActivity(intent)
    }
}

备选方案(坚持用Action方式启动)

如果你一定要用字符串Action的方式,需要完成以下两步:

步骤1:修正Intent的字符串

去掉多余的闭合大括号:

val intent = Intent("com.tjdroid.higherorlower.MainActivity")

步骤2:在AndroidManifest.xml中配置Intent过滤器

给MainActivity添加对应的<intent-filter>,注意必须包含DEFAULT category(Android 12及以上还需要配置android:exported="true"):

<activity
    android:name=".MainActivity"
    android:exported="true">
    <intent-filter>
        <action android:name="com.tjdroid.higherorlower.MainActivity" />
        <category android:name="android.intent.category.DEFAULT" />
    </intent-filter>
</activity>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 06:37:33