Android實現(xiàn)Back功能代碼片段總結(jié)
實現(xiàn)Back鍵功能方法有:
一:重寫onBackPressed方法
@Override
public void onBackPressed() {
// do something what you want
super.onBackPressed();
}
二:使用測試框架Instrumentation,模擬任意鍵按下動作,注意的是該方法不能在主線程中使用,只能開啟新線程,帶來的問題就是反應(yīng)速度較慢,項目中不建議使用。
調(diào)用onBack()方法;產(chǎn)生back鍵單擊效果
public void onBack(){
new Thread(){
public void run() {
try{
Instrumentation inst = new Instrumentation();
inst.sendKeyDownUpSync(KeyEvent.KEYCODE_BACK);
}
catch (Exception e) {
Log.e("Exception when onBack", e.toString());
}
}
}.start();
}
三:此方法是網(wǎng)絡(luò)上搜集的,沒有代碼驗證。
try{
Runtime runtime=Runtime.getRuntime();
runtime.exec("input keyevent " + KeyEvent.KEYCODE_BACK);
}catch(IOException e){
Log.e("Exception when doBack", e.toString());
}
四:重寫dispatchKeyEvent
@Override
public boolean dispatchKeyEvent(KeyEvent event) {
// TODO Auto-generated method stub
if (event.getAction() == KeyEvent.ACTION_DOWN
&& event.getKeyCode() == KeyEvent.KEYCODE_BACK) {
//do something what you want
return true;//返回true,把事件消費掉,不會繼續(xù)調(diào)用onBackPressed
}
return super.dispatchKeyEvent(event);
}
五:這個方法算不上是完全意義的Back鍵的功能了,此方法只能關(guān)閉當(dāng)前的 Activity ,也就是對于一個只有單個 Activity 的應(yīng)用程序有效,如果對于有多外 Activity 的應(yīng)用程序它就無能為力了。
public void exitProgrames(){
android.os.Process.killProcess(android.os.Process.myPid());
}
使用此方法需要追加權(quán)限:<uses-permission android:name="android.permission.RESTART_PACKAGES" />
相關(guān)文章
Kotlin協(xié)程Job生命周期結(jié)構(gòu)化并發(fā)詳解
這篇文章主要為大家介紹了Kotlin協(xié)程Job生命周期結(jié)構(gòu)化并發(fā)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-12-12
解析Android獲取系統(tǒng)cpu信息,內(nèi)存,版本,電量等信息的方法詳解
本篇文章對用Android獲取系統(tǒng)cpu信息,內(nèi)存,版本,電量等信息的方法進行了詳細(xì)的分析介紹。需要的朋友參考下2013-05-05
Android創(chuàng)建簡單發(fā)送和接收短信應(yīng)用
收發(fā)短信應(yīng)該是每個手機最基本的功能之一了,即使是許多年前的老手機也都會具備這項功能,而Android 作為出色的智能手機操作系統(tǒng),自然也少不了在這方面的支持。今天我們開始自己創(chuàng)建一個簡單的發(fā)送和接收短信的應(yīng)用,需要的朋友可以參考下2016-04-04

