8

我已经启动了一个 Intent 并要求它进入主要活动,当它尝试它时应用程序崩溃。

这是尝试进入主要活动的代码。

Intent i = new Intent(
".MAIN_ACTIVITY");
startActivity(i);   

这是 Main_Activity 的 XML 清单。

<activity
    android:name=".MainActivity"
    android:label="@string/app_name" >
    <intent-filter>
        <action android:name="android.intent.action.MAIN_ACTIVITY" />

        <category android:name="android.intent.category.DEFAULT" />
    </intent-filter>
</activity>

我对此还是很陌生,所以任何帮助和/或建议都非常有价值。

4

4 回答 4

21

像这样写:

Intent i = new Intent(MainActivity.this, NewActivity.class);
startActivity(i);

您还需要在清单文件中声明这两个活动类,如下所示:

<activity
android:name=".MainActivity"
android:label="@string/app_name" >
<intent-filter>
    <action android:name="android.intent.action.MAIN_ACTIVITY" />

    <category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity
    android:name=".NewActivity"
    android:label="@string/app_name" >
</activity>
于 2013-04-05T13:23:35.000 回答
3

对于那些来自谷歌的人,我试图在 putExtra 中传递大字符串(超过 90K 符号),我的应用程序因此而崩溃。正确的解决方案是将字符串保存到文件或实现 Singleton。

这是相关链接Intent putExtra 方法的最大长度?(强制关闭)

于 2015-10-09T00:59:03.097 回答
2

根据您的代码:如果我newActiviy在我的项目中创建了,那么:

我必须在 android 清单文件中添加该活动。

像:

<activity
    android:name=".MainActivity"
    android:label="@string/app_name" >
    <intent-filter>
        <action android:name="android.intent.action.MAIN_ACTIVITY" />

        <category android:name="android.intent.category.DEFAULT" />
    </intent-filter>
    <activity android:name=".newActivity"></activity>
</activity>

调用该活动只需执行以下操作:

Intent intent = new Intent(MainActivity.this, newActivity.class);
    startActivity(intent);

在这里提问之前尝试一些谷歌搜索。你必须检查这个:构建你的第一个 Android 应用程序开始另一个活动

于 2013-04-05T13:22:55.287 回答
0

像这样开始新的活动:

Intent intent = new Intent(YourCurrentActivity.this, TargetActivity.class);
    startActivity(intent);
于 2013-04-05T13:18:00.877 回答