close
我用的OS是 Windows 10,Android 版本如下:
接著紀錄按一次返回鍵提示再按一次就可以關閉app,不多說,直接給程式碼,只要看 onCreate() 後面的部分就可以了。
複製貼上就會生效。
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import androidx.appcompat.app.AppCompatActivity; | |
import android.os.Bundle; | |
import android.view.KeyEvent; | |
import android.widget.Toast; | |
import java.util.Timer; | |
import java.util.TimerTask; | |
public class MainActivity extends AppCompatActivity { | |
@Override | |
protected void onCreate(Bundle savedInstanceState) { | |
super.onCreate(savedInstanceState); | |
setContentView(R.layout.activity_main); | |
} | |
private static Boolean isExit = false; | |
private static Boolean hasTask = false; | |
Timer timerExit = new Timer(); | |
TimerTask task = new TimerTask() { | |
public void run() { | |
isExit = false; | |
hasTask = true; | |
} | |
}; | |
public boolean onKeyDown(int keyCode, KeyEvent event) { | |
// 判斷是否按下Back | |
if (keyCode == KeyEvent.KEYCODE_BACK) { | |
// 是否要退出 | |
if(isExit == false ) { | |
isExit = true; //記錄下一次要退出 | |
Toast.makeText(this, "再按一次Back退出APP" | |
, Toast.LENGTH_SHORT).show(); | |
// 如果超過兩秒則恢復預設值 | |
if(!hasTask) { | |
timerExit.schedule(task, 2000); | |
} | |
} else { | |
finish(); // 離開程式 | |
System.exit(0); | |
} | |
} | |
return false; | |
} | |
} |
結果圖: 按一次返回鍵提示
打完收工。
Reference:
https://ithelp.ithome.com.tw/articles/10157687
文章標籤
全站熱搜