0
final Intent intent = new Intent(getActivity(), Home.class);
intent.setAction(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_LAUNCHER);
break;

我正在尝试activity像这样重新使用我的,但该活动根本没有打开。下面是我Android-Manifest.xml对应的代码activity

<activity android:label="Home" 
    android:configChanges="orientation|screenSize" android:name="com.test.Home">
    <intent-filter>
        <action android:name="android.intent.action.Home" />
        <category android:name="android.intent.category.DEFAULT" />
    </intent-filter>
</activity>

重新启动现有的activity. 我不希望它在所有情况下只在某些情况下被重用,所以尝试了上面的 Intent 代码。

4

1 回答 1

2

只需将其添加到您manifest file声明活动的地方

它只会创建您的活动的单个实例。在第一次创建之后,当你调用这个活动时,它的onResume函数将被调用而不是onCreate. 因此,您将能够使用相同的活动而无需一次又一次地创建它

android:launchMode= "singleInstance"

或者您可以尝试添加标志

i.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT)

它会将已经创建的活动带回前面,而不是创建新实例

打开活动

像这样

Intent i= new Intent(myactivity1.this,myactivity2.class);
i.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT)
startActivity(i);
于 2013-04-08T12:17:08.937 回答