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ます。すべてのケースで再利用されるのは望ましくないため、上記のインテント コードを試してみました。

4

1 に答える 1

2

manifest fileアクティビティを宣言した場所に追加するだけです

アクティビティのインスタンスを 1 つだけ作成します。最初の作成後、このアクティビティを呼び出すときはいつでも、その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 に答える