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)文章
Android中 自定義數(shù)據(jù)綁定適配器BaseAdapter的方法
本篇文章小編為大家介紹,Android中 自定義數(shù)據(jù)綁定適配器BaseAdapter的方法。需要的朋友參考下2013-04-04
Flutter?DateTime獲取本月的開始時間與結(jié)束時間方法
這篇文章主要為大家介紹了Flutter?DateTime獲取本月的開始時間與結(jié)束時間方法示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步早日升職加薪2023-05-05
Android view滑動懸浮固定效果實現(xiàn)代碼示例
本篇文章主要介紹了Android view滑動懸浮固定效果實現(xiàn)代碼示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-10-10
android根據(jù)分辨率自動調(diào)整字體大小的實例代碼
android根據(jù)分辨率自動調(diào)整字體大小的實例代碼,需要的朋友可以參考一下2013-06-06

