我想启动我的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>
答案 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);