Android应用程序在活动中调用完成后进入后台

时间:2014-06-17 07:49:28

标签: android android-activity

我有两个Activity的应用程序。

第一个ActivityActivity点击时开始第二个Button。在第二个Activity中,在我致电finish()之后,同样在Button点击之后,我预计该应用将返回到第一个Activity

应用程序最小化(在后台进行)会发生什么。我正在开发的设备是带有Android 4.4.2的Sony Xperia Z2。 这是Android问题还是我在代码中做错了?

清单文件:

<uses-sdk
    android:minSdkVersion="8"
    android:targetSdkVersion="19" />


<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <activity
        android:name="com.example.test.MainActivity"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity android:name="com.example.test.SecondActivity">
</application>

第一项活动onClick:

    btn1 = (Button) findViewById(R.id.button1);
    btn1.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            Intent i = new Intent(MainActivity.this, SecondActivity.class);
            startActivity(i);
        }
    });

onClick上的第二项活动:

    btn2 = (Button) findViewById(R.id.button2);
    btn2.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            finish();
        }
    });

2 个答案:

答案 0 :(得分:-1)

首先,它不是Android问题。

其次,当您从第一个到第二个时,请确保您没有完成第一个Activity

如果你是在头等舱做这件事:

Intent in=new Intent(A.this, B.class);
startActivity(in);
this.finish();

然后移除this.finish();,因为它完成了您的第一个Activity,当您从第二个回来时,第一个Activity不在堆栈中。那么如何调用它。

答案 1 :(得分:-1)

First.java

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class First extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.first);
        Button b=(Button)findViewById(R.id.button1);
         b.setOnClickListener(new View.OnClickListener() {

                @Override
                public void onClick(View v) {
                    // TODO Auto-generated method stub
                    finish();
                }
            });

    }
}

Second.java

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class Second extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.second);
        Button b=(Button)findViewById(R.id.button1);
         b.setOnClickListener(new View.OnClickListener() {

                @Override
                public void onClick(View v) {
                    // TODO Auto-generated method stub
                    finish();
                }
            });

    }
}