一、onBackPressed()方法的解释
这个方法放在
void android.app.Activity.onBackPressed()
在安卓API中它是这样解释的:
public void onBackPressed ()
Added in API level 5
Called when the activity has detected the user‘s press of the back key. The default implementation simply finishes the current activity, but you can override this to do whatever you want.
我用有道词典翻译了一下:调用活动检测到用户的按的键。默认实现简单地完成当前的活动,但是你可以覆盖这个做任何你想做的。
我的理解就是:当用户在按这个键的时候,会调用这个方法。
这是Android 2.0开始多出了一种新的方法,对于Activity 可以单独获取Back键的按下事件,直接重写onBackPressed方法即可。
二、onBackPressed()方法的使用
public void onBackPressed() { Intent intent=new Intent(); intent.putExtra("data_return", "相信自己"); setResult(RESULT_OK, intent); super.onBackPressed(); return; }
大家注意:该方法仅适用于2.0或更新版的sdk
关于这个return我也不怎么清楚,我查了很多资料,都说用到return但是都不清楚用return有什么作用。希望大家可以去搜集更多的资料。我试了试不用return 程序也是可以运行的。
此外,给大家说一下back键和home键的区别:
back键
Android的程序无需刻意的去退出,当你一按下手机的back键的时候,系统会默认调用程序栈中最上层Activity的Destroy()方法来,
销毁当前Activity。当此Activity又被其它Activity启动起来的时候,会重新调用OnCreate()方法进行创建,当栈中所有
Activity都弹出结束后,应用也就随之结束了.如果说程序中存在service之类的,则可以在恰当的位置监听处理下也就可以了.
home键
Android程序的隐藏,当你按下手机的Home键的时候,系统会默认调用程序栈中最上层Activity的stop()方法,然后整个应用程序都会被
隐藏起来,当你再次点击手机桌面上应用程序图标时,系统会调用最上层Activity的OnResume()方法,此时不会重新打开程序,而是直接进入,
会直接显示程序栈中最上层的Activity。
back键默认把当前Activity给finish,home键只是把Activity给onStop.
实现按Home键时隐藏程序的效果:
1:Android 2.0之前需要监听按键事件,进行判断是不是按下了back键
2:Android
2.0之后系统提供了一个onBackPressed()方法,这个方法就是专门用来监听back键事件的,所以只需重写onBackPressed()方法即可
public void onBackPressed() { // super.onBackPressed();这句话一定要注销,不然又去调用默认的back处理方式了 Intent intent=new Intent(); intent.putExtra("data_return", "相信自己"); setResult(RESULT_OK, intent); }
关于onBackPressed()方法我就介绍到这,希望对你有所帮助。