AndroidMainfest.xml下的代码如下。
<activity
            android:name=".FirstActivity"
            android:launchMode="singleTop"
            android:label="This is FirstActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
启动应用后还是会新建一个实例,并且我按了几次按钮就要按几次back键才能退出程序

解决方案 »

  1.   

    singletop模式: 系统发现存在有FirstActivity实例,但不是位于栈顶,于是重新生成一个实例。
    这就是singleTop启动模式,如果发现有对应的Activity实例正位于栈顶,则重复利用,不再生成新的实例http://blog.csdn.net/liuhe688/article/details/6754323/
      

  2.   

    我也遇到了此问题 为何            android:launchMode="singleTop"没有起到作用
      

  3.   

    解决方法:在oncreate方法的重写中加入方法:                intent.setFlags(intent.FLAG_ACTIVITY_SINGLE_TOP);总的方法为:
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            Log.d("FirstActivity111", this.toString());
            setContentView(R.layout.first_layout);
            Button button1 = (Button) findViewById(R.id.button_1);
            button1.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    Intent intent = new Intent(FirstActivity.this, FirstActivity.class);
                    intent.setFlags(intent.FLAG_ACTIVITY_SINGLE_TOP);
                    startActivity(intent);
                }
            });
        }