【Android 小功能】双击返回键返回桌面(进入后台),再次进入不加载启动页,物理键双击退回桌面

本文介绍了如何通过修改APP的启动页和主页面代码,实现点击返回键不退出应用而是进入后台,提升用户体验。尽管这会占用内存,但鉴于现代手机性能,此优化被普遍接受。关键在于启动页设置为标准启动模式,同时在主页面中监听返回键,实现2秒内连续点击两次才退出应用的功能。
摘要由CSDN通过智能技术生成

目前很多 APP 点击返回键(或者左滑)返回桌面,都是不退出 APP,只是进入后台,再次进入 APP 回到之前的页面,不用刷新或者重新创建。自己也觉得这样用户体验会好很多,虽然有一个弊端就是不结束进程,会一直占用内存,但是相对现在的手机性能来说这都不需要考虑。

效果图:
在这里插入图片描述

相关部分就是启动页主页面,所以也只需要修改这两部分的相关内容就行!

启动页代码:

public class LaunchWelcomeActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState){
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_launch_welcome);
    }
}

activity_launch_welcome:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <ImageView
        android:id="@+id/image"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:scaleType="fitXY"
        android:src="@drawable/guide_bg4" />

</LinearLayout>

主页面返回键相关代码:

    private long mExitTime; //退出的时间

    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event){
        if (keyCode == KeyEvent.KEYCODE_BACK){
            exit();
            return true;
        }
        return super.onKeyDown(keyCode, event);
    }
    public void exit(){
        if ((System.currentTimeMillis() - mExitTime) > 2000){
            Toast.makeText(DepartmentStoreActivity.this, "再点一次,返回桌面", Toast.LENGTH_SHORT).show();
            mExitTime = System.currentTimeMillis();
        }else {
            Intent homeIntent = new Intent(Intent.ACTION_MAIN);
            homeIntent.addCategory(Intent.CATEGORY_HOME);
            homeIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            startActivity(homeIntent);
        }
    }
}

AndroidManifest.xml 相关代码:

<activity android:name=".LaunchWelcomeActivity" android:theme="@style/FullScreen"
    android:launchMode="standard">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />

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

最关键的地方就是启动页的启动模式:android:launchMode=“standard”

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

玳宸

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值