退出按钮不能正常工作

时间:2013-04-02 08:34:25

标签: android

我开发了应用程序我想为退出按钮编写代码。我正在搜索退出按钮的代码,我从互联网上获取它。现在退出按钮代码工作正常但是当我从模拟器打开应用程序时它直接打开第三项活动。飞溅的屏幕和第二次活动是看不见的我不知道我哪里出错了

这是退出按钮的代码

public void onClick(View v) {
    Intent intent = new Intent(Intent.ACTION_MAIN);
    intent.addCategory(Intent.CATEGORY_HOME);
    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

    finish();
    startActivity(intent);
}

你可以告诉我代码在哪里

我的清单文件

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.app.finan"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
    android:minSdkVersion="8"
    android:targetSdkVersion="17" />
<supports-screens 
    android:smallScreens="true"
    android:normalScreens="true"
    android:largeScreens="true"
    android:xlargeScreens="true"
    android:resizeable="true"

android:anyDensity="true"/>
<application
    android:allowClearUserData="true"
    android:icon="@drawable/dollar"
    android:label="@string/app_name"
    android:theme="@style/AppTheme">
    <activity
        android:name="com.app.finan.Splashscreen"
        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.app.finan.MainActivity"
        android:label="@string/app_name" 
        android:theme="@style/AppBaseTheme">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
    </activity>
    <activity
        android:name="com.app.finan.second"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
    </activity>
    <activity
        android:name="com.app.finan.Monthc"
        android:label="@string/app_name" >
        <intent-filter>
           <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
    </activity>
    </application>
</manifest>

2 个答案:

答案 0 :(得分:0)

我知道你得到了什么样的问题,你在哪里使用代码退出应用程序只需添加此代码,以便你的活动得到重新启动!

public void onPause()
{
  super.onPause();
  finish();
}

如果您使用了任何静态变量,只需在按下EXIT BUTTON时将它们设置为NULL! 并试图在意图之后完成你的活动!

startActivity(intent);
finish();

答案 1 :(得分:0)

您需要了解Activity Stack

您实际上要做的是模仿我们点击主页按钮时所采取的相同操作,即将活动发送到背景

您的应用根据代码正常运行..当您点击退出按钮时,它会将应用发送到背景,例如主页操作,并且恢复< / strong>从实际上离开的地方,即本案中的第三项活动。

我通常在这种情况下杀死应用程序,而不是让它变得复杂 使用以下代码段

android.os.Process.killProcess(android.os.Process.myPid());

只需将其添加到退出按钮单击..

有关google docs here

的活动堆栈读取活动堆栈的详细信息

或ADD intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);以实现清除当前堆栈中所有活动的方式