0

我想启动我的 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>
4

2 回答 2

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);
于 2013-03-07T14:56:42.557 回答
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) {

                    }
于 2013-03-07T14:29:02.137 回答