没有用android 2.3启动MainActivity

时间:2013-03-07 14:18:26

标签: android android-intent

我想启动我的MainActivity,在android 2.3中,它不会启动,但在Jelly Bean中它可以工作。我没有错,没有任何反应!

我注意到当我使用putExtra时,它不起作用。有原因吗?

启动MainActivity

final ComponentName cn = new ComponentName("de.application.ui", "de.application.ui.MainActivity");

    Intent intent = IntentCompat.makeRestartActivityTask(cn);
    intent.putExtra("de.application.exit", true); // I have this line in it yet
    activity.startActivity(intent);

清单

<activity
        android:theme="@style/Theme"
        android:name=".ui.MainActivity"
        android:launchMode="singleTop">
        <intent-filter>
            <action android:name="android.intent.action.MAIN"/>
            <category android:name="android.intent.category.LAUNCHER"/>
        </intent-filter>
    </activity>

我的解决方案有效。

启动MainActivity

   Intent intent = new Intent(activity, MainActivity.class);
    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK|Intent.FLAG_ACTIVITY_CLEAR_TASK|Intent.FLAG_ACTIVITY_CLEAR_TOP);
    intent.putExtra("de.application.exit", true);
    activity.finish();
    activity.startActivity(intent);

清单

<activity
        android:theme="@style/Theme"
        android:name=".ui.MainActivity">
        <intent-filter>
            <action android:name="android.intent.action.MAIN"/>
            <category android:name="android.intent.category.LAUNCHER"/>
        </intent-filter>
    </activity>

2 个答案:

答案 0 :(得分:0)

我这样做是为了开始一项主要活动:

Intent intent = IntentCompat.makeRestartActivityTask(cn);
activity.startActivity(intent);


        Intent i =  new Intent("android.intent.action.MAIN");
        final ComponentName cn = new ComponentName  ("de.application.ui", "de.application.ui.MainActivity");

                        i.setComponent(n);                          

                    try {
                        startActivity(i);
                    } 
                    catch (ActivityNotFoundException e) {

                    }

答案 1 :(得分:0)

可能想尝试一下:

    Intent intent = new Intent("android.intent.action.MAIN");
    intent.addCategory("android.intent.category.LAUNCHER");
    intent.setComponent(new ComponentName("de.application.ui", "de.application.ui.MainActivity"));
    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    intent.putExtra("de.application.exit", true);
    startActivity(intent);