1

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

这是退出按钮的代码

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>
4

2 回答 2

0

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

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

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

startActivity(intent);
finish();
于 2013-04-02T08:43:41.960 回答
0

你需要学习 Activity Stack

实际上你想要做的是模仿我们点击主页按钮的相同动作,即将活动发送到后台

您的应用程序根据代码正常运行。当您单击退出按钮时,它会将应用程序发送到后台,如主页操作,并从实际离开的位置恢复,即在这种情况下是第三个活动。

我通常会在这种时候杀死应用程序,而不是使用以下代码段使其变得复杂

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

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

有关 Activity Stack 的详细知识,请在此处阅读 google docs中的活动堆栈

或添加intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);以清除当前堆栈中的所有活动的方式使其发生

于 2013-04-02T08:57:22.337 回答