后退按钮关闭可最大限度地减少应用程序,但从任务重新打开时,它将在上一个活动中

时间:2014-02-08 08:03:13

标签: android layout android-activity

我点击按钮进入活动,但是当我想回到之前的活动时,应用程序基本上被最小化(对于Windows术语),当我从正在进行的任务中打开应用程序时,它打开了之前的活动,为什么它在背压时最小化;

FileUploadTest class extends Activity {
 .......

 public void onBackPressed(View v){
   Intent dashboard = new Intent(this, DashboardActivity.class);

    // Close all views before launching Dashboard
    dashboard.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    startActivity(dashboard);  
 }

Android Manifest xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.androidhive"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk android:minSdkVersion="8" />
  <uses-permission android:name="android.permission.INTERNET" />
<application
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name" >
    <activity
        android:label="@string/app_name"
        android:name=".DashboardActivity" 
        android:theme="@style/Theme.CustomizedFullScreen">
        <intent-filter >
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

    <!--  Login Activity -->
    <activity
        android:label="Login Account" 
        android:name=".LoginActivity"
        android:theme="@style/Theme.CustomizedFullScreen"></activity>

    <!--  Register Activity -->
    <activity
        android:label="Register New Account" 
        android:name=".RegisterActivity"
        android:theme="@style/Theme.CustomizedFullScreen"></activity>

    <activity
        android:label="Upload to Account" 
        android:name=".FileUploadTest"
        android:theme="@style/Theme.CustomizedFullScreen"></activity>

    <activity
        android:label="View All Products"
        android:name=".AllProductsActivity"
        android:theme="@style/Theme.CustomizedFullScreen"></activity>

</application>

3 个答案:

答案 0 :(得分:1)

将此方法添加到您的活动类文件中:

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {

    if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {
        onBackPressed();
        return true;
    }
    return super.onKeyDown(keyCode, event);
}

这将覆盖Back Key事件。

答案 1 :(得分:1)

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {

    if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {
        Intent dashboard = new Intent(this, DashboardActivity.class);
        dashboard.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
        dashboard.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
      // Close all views before launching Dashboard
        // this.finish();
         startActivity(dashboard);
        return true;
    }
    return super.onKeyDown(keyCode, event);
}

这应该可以帮到你!

答案 2 :(得分:0)

public void onBackPressed(View v){
  Intent dashboard = new Intent(this, DashboardActivity.class);

// Close all views before launching Dashboard
   this.finish();
   startActivity(dashboard);  
}