1

アクティビティを別のアクティビティから単一のインスタンスに置き換えるか、再開する方法。

ActivityA と ActivityB の 2 つのアクティビティがあります。

マニフェストで:

 <activity
    android:name=".ActivityA"
    android:label="@string/activityA"
    android:launchMode="singleInstance" >
</activity>
<activity
    android:name=".ActivityB"
    android:label="@string/activityB" />

私の質問は、ActivityB のメソッドから ActivityA を再起動する方法です。ActivityB の Mycode 番号は次のとおりです。

class ActivityB extends Activity{

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        Button rButton = (Button) findViewById(R.id.restart);
        rButton.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                 restartActivityA();
            }
        });
    }

    public void restartActivityA() {
       Intent intent = new Intent(this, ActivityA.class);
       intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK|Intent.FLAG_ACTIVITY_CLEAR_TOP);
       startActivity(intent);
       this.finish();
    }
}

ボタンをクリックしても再起動しません。

ありがとう。

4

2 に答える 2

2

ActivityAこれをあなたの:に追加してみてください

    @Override
    protected void onNewIntent(Intent intent) 
    {
        super.onNewIntent(intent);           
    }

編集:

このようにActivityBを呼び出します:

Intent intent = new Intent(this, ActivityB.class); 
startActivity(intent);
finish();

ありがとう。

于 2013-01-12T12:59:28.813 に答える
0

これを試してみてください。

Intent intent = getActivity().getIntent();//it will return the intent for current activity

お役に立てれば。

于 2013-01-12T12:51:41.850 に答える