功能简单:
package com.amaker.test;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.KeyEvent;
import android.widget.Toast;
public class SecondActivity extends Activity{
private long exitTime = 0;
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
public boolean onKeyDown(int keyCode, KeyEvent event) {
if(keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_DOWN){
if((System.currentTimeMillis()-exitTime) > 2000){
Log.d("log", "----------------------->"+String.valueOf(System.currentTimeMillis()));
Toast.makeText(getApplicationContext(), "再按一次退出程序", Toast.LENGTH_SHORT).show();
exitTime = System.currentTimeMillis();
}
else{
finish();
System.exit(0);
}
return true;
}
return super.onKeyDown(keyCode, event);
}
}
分享到:
相关推荐
Toast.makeText(this, "再按一次退出程序", Toast.LENGTH_SHORT).show(); // 提示用户再按一次退出 System.out.println("isexit2" + isExit); if (!hasTask) { // 如果没有定时任务正在执行 System.out.println...
在Android应用开发中,"再按一次退出程序"是一种常见的用户交互设计,目的是避免用户意外地退出应用程序。这种设计通常会在用户首次按下后退键时显示提示信息,如果用户在短时间内再次按下后退键,应用才会真正退出...
Android 返回键退出代码,第一次提示用户再按一次返回键退出,两秒钟内再按一次则退出程序,否则认为用户取消了退出操作!下下来就可以用,绝对好用哦~~~!!
- 如果`isExit`为`false`,说明这是第一次按返回键,此时设置`isExit`为`true`,并显示提示消息“再按一次退出程序”,同时如果没有创建定时任务,则创建并启动定时任务。 - 如果`isExit`为`true`,说明用户在2秒...
如果超过2秒没有再次按下回退键,就显示一个Toast提示用户“再按一次退出程序”,并更新`lastBackPressedTime`为当前时间。 3. 使用`finishAffinity()`方法而不是`finish()`是因为`finish()`仅会关闭当前Activity,...
"再按一次退出" 是一个基于Android平台的项目,它涉及到Android应用开发中的用户交互设计。在Android系统中,为了防止用户意外关闭应用程序,通常会在用户尝试退出时弹出一个对话框,提示用户确认是否真的要退出。这...
Toast.makeText(this, "再按一次退出程序", Toast.LENGTH_SHORT).show(); new Handler().postDelayed(new Runnable() { @Override public void run() { finishAffinity(); // 结束所有栈顶的Activity,达到退出...
Toast.makeText(getApplicationContext(), "再按一次退出程序", Toast.LENGTH_SHORT).show(); mHandler.sendEmptyMessageDelayed(0, 2000); } else { Intent intent = new Intent(Intent.ACTION_MAIN); ...
Toast.makeText(this, "再按一次退出应用", Toast.LENGTH_SHORT).show(); firstBackPressedTime = System.currentTimeMillis(); } else { // 2秒内再次按下返回键,退出应用 finish(); } return true; } ...
Toast.makeText(this, "再按一次退出程序!", Toast.LENGTH_LONG).show(); } else { // 结束当前Activity this.finish(); } return true; } return super.onKeyDown(keyCode, event); } ``` - **判断返回...
Toast.makeText(this, "再按一次退出应用", Toast.LENGTH_SHORT).show(); firstBackPressTime = System.currentTimeMillis(); // 记录第一次点击时间 } ``` 这段代码的工作原理是:当用户第一次按下返回键时,...
个人觉得“再按一次返回键退出程序”是best practice,实现也很简单,直接上代码: 代码如下: private long exitTime = 0; @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if(keyCode == ...
Toast.makeText(this, "再按一次退出程序", Toast.LENGTH_SHORT).show(); firstClickTime = currentTime; // 记录本次点击时间 } } ``` 上述代码展示了如何在`onBackPressed()`中实现双击退出功能的基本思路。...
Toast.makeText(getApplicationContext(), "再按一次退出程序", Toast.LENGTH_SHORT).show(); exitTime = System.currentTimeMillis(); } else { finish(); System.exit(0); } return true; } return super...
Toast.makeText(this, "再按一次退出程序", Toast.LENGTH_SHORT).show(); backPressCount++; new Handler().postDelayed(new Runnable() { @Override public void run() { backPressCount = 0; // 如果2秒内...
Toast.makeText(this, "再按一次退出程序", Toast.LENGTH_SHORT).show(); // 提示用户再次点击 exitTime = System.currentTimeMillis(); // 记录当前时间 } } return super.onKeyDown(keyCode, event); } ``` ...
Toast.makeText(context, "再按一次退出程序", Toast.LENGTH_SHORT).show(); } Handler handler = new Handler(); handler.postDelayed(new Runnable() { @Override public void run() { BACK_PRESSED_COUNT ...
Toast.makeText(this, "再按一次退出程序", Toast.LENGTH_SHORT).show(); exitTime = System.currentTimeMillis(); } else { finish(); // 退出程序 } return true; } return super.onKeyDown(keyCode, ...
我们可以在 onKeyUp 事件中判断 keyCode 是否为 KeyEvent.KEYCODE_BACK,如果是,则弹出 toast 提示用户再按一次退出程序,并在两秒钟后将 isExit 设为 false。如果用户在这两秒钟内再次按下返回键,则退出程序。 `...