Android应用程序崩溃在startActivity()

时间:2013-04-05 13:16:40

标签: java android xml android-intent

我已经启动了一个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 个答案:

答案 0 :(得分:15)

像这样写:

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>

答案 1 :(得分:3)

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

以下是相关链接Maximum length of Intent putExtra method? (Force close)

答案 2 :(得分:1)

根据您的代码:如果我在项目中创建了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);

befre在这里问问题尝试一些谷歌搜索。你必须检查这个:Building Your First Android AppStarting Another Activity

答案 3 :(得分:0)

像这样开始新的活动:

Intent intent = new Intent(YourCurrentActivity.this, TargetActivity.class);
    startActivity(intent);