androidback退出
1. android中多个activity怎么能双击back两次后退出程序
Handler mHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
// TODO Auto-generated method stub
super.handleMessage(msg);
isExit = false;
}
};
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
exit();
return false;
} else {
return super.onKeyDown(keyCode, event);
}
}
public void exit(){
if (!isExit) {
isExit = true;
Toast.makeText(getApplicationContext(), "再按一次退出程序", Toast.LENGTH_SHORT).show();
mHandler.sendEmptyMessageDelayed(0, 2000);
} else {
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
startActivity(intent);
System.exit(0);
}
}
2. 如何使用Back键关闭Android AIR应用程序
如果使用Flex开发基于AIR的Android应用,有一个问题不得不考虑,用户使用Back按键或Home按键退出当前视图(View)使应用程序在后台运行时,应用程序有两条路可选:一是自动退出;二是遵从Android系统内存和进程管理规则,在内存和CPU资源紧张的情况下,被系统回收掉。对于这两种方式,用户以及开发者都有不同的感受和理解。有人认为应用如果退出,就应该完全释放资源为后来者腾地方,而不是退居后台;有人认为频繁的释放和分配资源会加重IO和CPU运算负担,所以应该先在后台呆着,需要时可以尽快上场转入前台。这里暂不讨论分析这两种方式的长短,而是介绍一种针对基于AIR的Android应用的
Back按键处理方式。
3. 如何添加Android返回键的退出功能
@Override
public boolean dispatchKeyEvent(KeyEvent event) {
if(event.getKeyCode() == KeyEvent.KEYCODE_BACK){
if (event.getAction() == KeyEvent.ACTION_DOWN && event.getRepeatCount() == 0) {
if ((System.currentTimeMillis() - exitTime) > 2000) {
Toast.makeText(MainActivity.this, "再按一次退出程序", Toast.LENGTH_SHORT).show();
exitTime = System.currentTimeMillis();
} else {
//退出登录Logout
//System.exit(0);
finish();
}
}
return true;
}
return super.dispatchKeyEvent(event);
}
4. 如何使用Back键关闭Android AIR应用程序
阂皇亲远�顺觯欢�亲翊覣ndroid系统内存和进程管理规则,在内存和CPU资源紧张的情况下,被系统回收掉。对于这两种方式,用户以及开发者都有不同的感受和理解。有人认为应用如果退出,就应该完全释放资源为后来者腾地方,而不是退居后台;有人认为频繁的释放和分配资源会加重IO和CPU运算负担,所以应该先在后台呆着,需要时可以尽快上场转入前台。这里暂不讨论分析这两种方式的长短,而是介绍一种针对基于AIR的Android应用的 Back按键处理方式。
5. back返回和退出怎么写
项目要做这个功能,于是在度娘上摘代码.基本上实现方式很多,现在我把我这种实现贴出来哈,参考一下
第一种.
重写你项目首页Activity的onKeyDown方法.例如在HomeActivity中
private boolean isExit = false;//声明成员变量
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if(keyCode == KeyEvent.KEYCODE_BACK){
ToQuitTheApp();
return false;
}else{
return super.onKeyDown(keyCode, event);
}
}
/**
* 是否退出应用的方法
*/
private void ToQuitTheApp() {
if (isExit) {
// ACTION_MAIN with category CATEGORY_HOME 启动主屏幕
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
startActivity(intent);
System.exit(0);// 使虚拟机停止运行并退出程序
} else {
isExit = true;
Toast.makeText(this, "Click again to exit the APP.", Toast.LENGTH_SHORT).show();
/** 如果3秒内没有点击的话发送消息把判断条件重置.*/
new Handler().postDelayed(new Runnable(){
@Override
public void run() {
isExit = false;
}
},3000);
}
}
第二种监听back的方法:
对于Android 2.0开始又多出了一种新的方法,对于Activity 可以单独获取Back键的按下事件,直接重写onBackPressed方法即可,代码如下
@Override
public void onBackPressed() {
// 这里处理逻辑代码,大家注意:该方法仅适用于2.0或更新版的sdk
return;
}
6. Android中按返回键怎么退出一个用程序
重写activty的onkeydown在用户按下返回键的时候调用,所以我们可以通过重写onkeydown的方法实现,还有可能到了MainActivity前面还有其他acitivty存活这,我们需要在onkeydown的时候把所有的activity都结束掉,为了实现这个我们先定义一个BaseActivity,在Oncreate和ondestroy生命周期里存储acitivty的引用
用一个List集合存储存活的acitivity,我们把list作为application成员
写一个MyApp类,作为程序启动的application
public class MyApp extends Application{
private List<Activity> activities = new ArrayList<Activity>();
public List<Activity> getActivities(){
return activities;
}
}
BaseActivity代码如下
class BaseActivity extends Activity{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
((MyApp)getApplication()).getActivities().add(this);
}
@Override
protected void onDestroy() {
super.onDestroy();
((MyApp)getApplication()).getActivities().remove(this);
}
}
以后工程里的所有Activity都继承于BaseActivity即可
最后是MainAcitivty的代码,在onkeydown方法里遍历list集合,调用每个activity的finish方法即可
public class MyActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_two);
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
List<Activity> activities = ((MyApp)getApplication()).getActivities();
for(Activity activity:activities){
activity.finish();
}
return super.onKeyDown(keyCode, event);
}
}
7. android中点击home键退出和点击back键退出有什么不同
点击home键不会把activity从栈中弹出,back键会弹出栈顶的activity
8. 请教:在Android和jQuery mobile联合开发中如何设置返回键退出
如果页面中链接,
如果希望点击链接继续在当前
browser
中响应,
而不是新开
Android
的系统browser
中响应该链接,必须覆盖
webview
的
WebViewClient
对象。mWebView.setWebViewClient(new
WebViewClient(){
public
boolean
shouldOverrideUrlLoading(WebView
view,
String
url)
{
view.loadUrl(url);
return
true;
}
});
如果不做任何处理,浏览网页,点击系统“Back”键,整个
Browser
会调用
finish()而结束自身,
如果希望浏览的网页回退而不是推出浏览器,需要在当前
Activity
中处理并消费
掉该
Back
事件。public
boolean
onKeyDown(int
keyCode,
KeyEvent
event){
if
((keyCode
==
KeyEvent.KEYCODE_BACK)
&&
mWebView.canGoBack())
{
mWebView.goBack();
return
true;
}
return
super.onKeyDown(keyCode,
event);
}
不知道你是用什么控件来开发web
,如果你不重写onKeyDown
点击系统“Back”键就会退出的。
9. android back键为什么退出抽屉
android的back键设计的初衷就是去掉标题栏的后退按钮,因为拇指的点击舒适区域是在中间和左下,左上角的按钮太难按到了。