1

如何用来自另一个活动的单实例替换或重新启动活动。

我有两个活动,ActivityA 和 ActivityB。

在清单中:

 <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 回答