gpt4 book ai didi

android - 单击 Android 后退按钮两次以退出应用程序

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:26:13 24 4
gpt4 key购买 nike

我的应用程序包含一个初始启动画面,然后是一个 listview(主要 Activity )。单击 listview 的每一行将打开每个 Activity 。

我的要求是,如果我们从我的任何内部 Activity (单击 listview 行时打开的 Activity )中单击后退按钮,它必须导航到我的主 listview ,然后如果我们从 listview 中再次按下,应用程序必须关闭。

因此,如果我在 listview 中按下后退按钮两次,它将正确退出应用程序。我的主要问题是,如果我在任何内部 Activity 中按两次后退按钮,我的应用程序不会关闭。我需要按三下,而不是从我的任何内心 Activity 中关闭应用程序。谁能帮帮我?

这是我退出应用程序的代码。我在我的主 listview 类中添加了这段代码..

private static final int TIME_INTERVAL = 3000; // # milliseconds, desired time passed between two back presses.
private long mBackPressed;

@Override
public void onBackPressed()
{
if (mBackPressed + TIME_INTERVAL > System.currentTimeMillis())
{
super.onBackPressed();
return;
}
else { Toast.makeText(getBaseContext(), "Tap back button in order to exit", Toast.LENGTH_SHORT).show(); }

mBackPressed = System.currentTimeMillis();
}
}

我的manifest.xml

<application
android:allowBackup="true"
android:label="@string/app_name"
android:theme="@style/AppTheme">

<meta-data android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version"/>


<activity
android:name="learnersseries.mathematics.complexnumbers.Firstintro"
android:screenOrientation="portrait"
android:launchMode="singleTop"
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="Myintegralpage"
android:screenOrientation="portrait"
>

<intent-filter></intent-filter>
</activity>
<activity android:name="myimagine"
android:screenOrientation="portrait"

>
<intent-filter></intent-filter>
</activity>
<activity android:name="Myintroductionpage"
android:screenOrientation="portrait"

>
<intent-filter></intent-filter>
</activity>
<activity android:name="MainActivity"
android:noHistory="false"
android:screenOrientation="portrait"
>


<intent-filter></intent-filter>
</activity>
<activity android:name="Complexnumbers"
android:screenOrientation="portrait"
>

<intent-filter></intent-filter>
</activity>
<activity android:name="Equality"
android:screenOrientation="portrait"
>

<intent-filter></intent-filter>
</activity>
<activity android:name="Additionofcomplex"
android:screenOrientation="portrait"
>

<intent-filter></intent-filter>
</activity>
<activity android:name="Subtraction"
android:screenOrientation="portrait"
>

<intent-filter></intent-filter>
</activity>
<activity android:name="multiplication"
android:screenOrientation="portrait" >

<intent-filter></intent-filter>
</activity>
<activity android:name="Division"
android:screenOrientation="portrait" >

<intent-filter></intent-filter>
</activity>
<activity android:name="Conjugate"
android:screenOrientation="portrait" >

<intent-filter></intent-filter>
</activity>
<activity android:name="Modulus"
android:screenOrientation="portrait" >

<intent-filter></intent-filter>
</activity>
<activity android:name="Reciprocal"
android:screenOrientation="portrait" >

<intent-filter></intent-filter>
</activity>
<activity android:name="Square"
android:screenOrientation="portrait">


</activity>
<activity android:name="Representation"
android:screenOrientation="portrait" >

<intent-filter></intent-filter>
</activity>
<activity android:name="Argument"
android:screenOrientation="portrait" >

最佳答案

尝试这种方式,希望这能帮助您解决问题。

取一个标志 doubleBackToExitPressedOnce,默认情况下(false)在你的 Activity 中,当后退按钮第一次按下时,标志值更改为(true),如果后退按钮没有再次按下,则在 2 秒内再次按下后退按钮退出你的应用程序2秒设置标志值(false)。

private boolean backPressedToExitOnce;

@Override
public void onBackPressed() {
if (doubleBackToExitPressedOnce) {
super.onBackPressed();
return;
}

this.doubleBackToExitPressedOnce = true;
Toast.makeText(this, "Press again to exit", Toast.LENGTH_SHORT).show();

new Handler().postDelayed(new Runnable() {

@Override
public void run() {
doubleBackToExitPressedOnce=false;
}
}, 2000);
}

关于android - 单击 Android 后退按钮两次以退出应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26581427/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com