From:http://blog.youkuaiyun.com/winson_jason/article/details/9125019
主要是在使用Fragment时能够返回前一级,所以才找到了这些资料。
有两种方式可以实现,直接上代码
方法1:
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();
}
注意该方法不能放在主线程中,否则会报错。
方法2:
try{
Runtime runtime=Runtime.getRuntime();
runtime.exec("input keyevent " + KeyEvent.KEYCODE_BACK);
}catch(IOException e){
Log.e("Exception when doBack", e.toString());
}
总结:方法1比方法2响应快些。
主要是在使用Fragment时能够返回前一级,所以才找到了这些资料。
有两种方式可以实现,直接上代码
方法1:
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();
}
注意该方法不能放在主线程中,否则会报错。
方法2:
try{
Runtime runtime=Runtime.getRuntime();
runtime.exec("input keyevent " + KeyEvent.KEYCODE_BACK);
}catch(IOException e){
Log.e("Exception when doBack", e.toString());
}
总结:方法1比方法2响应快些。
本文介绍了在使用Fragment时实现返回前一级的两种方法。一种是通过创建并启动一个新的线程来模拟按键事件,另一种则是利用Runtime执行特定的键盘事件命令。经过对比,第一种方法在响应速度上更胜一筹。
2677

被折叠的 条评论
为什么被折叠?



