如何在android中手动结束应用程序?
我想在用户从主屏幕按back键时结束我的应用程序。我尝试使用如何在android中手动结束应用程序?,android,exit,Android,Exit,我想在用户从主屏幕按back键时结束我的应用程序。我尝试使用系统。退出(0),但它似乎不起作用 我必须如何手动结束我的应用程序 package com.mahavega.qcdemo; import com.mahavega.qcdemo.R; import android.os.Bundle; import android.app.Activity; import android.content.Intent; import android.view.GestureDetector
系统。退出(0)
,但它似乎不起作用
我必须如何手动结束我的应用程序
package com.mahavega.qcdemo;
import com.mahavega.qcdemo.R;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.GestureDetector;
import android.view.KeyEvent;
import android.view.Menu;
import android.view.MotionEvent;
import android.view.View;
import android.view.GestureDetector.SimpleOnGestureListener;
import android.view.View.OnClickListener;
import android.widget.ImageView;
public class MainActivity extends Activity implements OnClickListener {
private GestureDetector gestureDetector;
View.OnTouchListener gestureListener;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
gestureDetector = new GestureDetector(this, new MyGestureDetector());
gestureListener = new View.OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
return gestureDetector.onTouchEvent(event);
}
};
ImageView ad = (ImageView) findViewById(R.id.imageView1);
ImageView im2 = (ImageView) findViewById(R.id.imageView2);
ImageView im3 = (ImageView) findViewById(R.id.imageView3);
ImageView im4 = (ImageView) findViewById(R.id.imageView4);
ImageView im5 = (ImageView) findViewById(R.id.imageView5);
ad.setOnClickListener(MainActivity.this);
im2.setOnTouchListener(gestureListener);
im2.setOnClickListener(MainActivity.this);
im3.setOnTouchListener(gestureListener);
im3.setOnClickListener(MainActivity.this);
im4.setOnTouchListener(gestureListener);
im4.setOnClickListener(MainActivity.this);
im5.setOnTouchListener(gestureListener);
im5.setOnClickListener(MainActivity.this);
ad.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
startActivity(new Intent(MainActivity.this, Adds.class));
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
class MyGestureDetector extends SimpleOnGestureListener {
@Override
public boolean onFling (MotionEvent e1, MotionEvent e2, float velocityX, float velocityY)
{
float sensitvity = 50;
if((e1.getX() - e2.getX()) < sensitvity){
startActivity(new Intent(MainActivity.this, Login.class));
}
return super.onFling(e1, e2, velocityX, velocityY);
}
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
}
@Override
public void onBackPressed() {
// TODO Auto-generated method stub
System.exit(0);
finish();
super.onBackPressed();
}
}
package com.mahavega.qcdemo;
导入com.mahavega.qcdemo.R;
导入android.os.Bundle;
导入android.app.Activity;
导入android.content.Intent;
导入android.view.GestureDetector;
导入android.view.KeyEvent;
导入android.view.Menu;
导入android.view.MotionEvent;
导入android.view.view;
导入android.view.GestureDetector.SimpleOnGestureListener;
导入android.view.view.OnClickListener;
导入android.widget.ImageView;
公共类MainActivity扩展活动实现OnClickListener{
私人手势检测器;
View.OnTouchListener手势Listener;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
gestureDetector=新的gestureDetector(这个,新的MyGestureDetector());
gestureListener=新建视图。OnTouchListener(){
公共布尔onTouch(视图v,运动事件){
返回gestureDetector.onTouchEvent(事件);
}
};
ImageView ad=(ImageView)findViewById(R.id.imageView1);
ImageView im2=(ImageView)findViewById(R.id.imageView2);
ImageView im3=(ImageView)findViewById(R.id.imageView3);
ImageView im4=(ImageView)findViewById(R.id.imageView4);
ImageView im5=(ImageView)findViewById(R.id.imageView5);
ad.setOnClickListener(MainActivity.this);
im2.setOnTouchListener(手势Listener);
im2.setOnClickListener(MainActivity.this);
im3.setOnTouchListener(手势Listener);
im3.setOnClickListener(MainActivity.this);
im4.setOnTouchListener(手势Listener);
im4.setOnClickListener(MainActivity.this);
im5.setOnTouchListener(手势Listener);
im5.setOnClickListener(MainActivity.this);
ad.setOnClickListener(新的OnClickListener(){
@凌驾
公共void onClick(视图v){
//TODO自动生成的方法存根
startActivity(新意图(MainActivity.this,Adds.class));
}
});
}
@凌驾
公共布尔onCreateOptions菜单(菜单){
//为菜单充气;这会将项目添加到操作栏(如果存在)。
getMenuInflater().充气(R.menu.main,menu);
返回true;
}
类MyGestureDetector扩展了SimpleOnGestureListener{
@凌驾
公共布尔onFling(MotionEvent e1、MotionEvent e2、float-velocityX、float-velocityY)
{
浮感度=50;
if((e1.getX()-e2.getX())
这是我在
活动中调用finish()
的全部代码。在您的活动调用finish()。此处参考根据您正在运行/构建的Android版本,您可能需要为您的活动添加一些帮助
以点击后退按钮。添加此功能可提供以下帮助:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (Integer.parseInt(android.os.Build.VERSION.SDK) < 5
&& keyCode == KeyEvent.KEYCODE_BACK
&& event.getRepeatCount() == 0) {
onBackPressed();
}
return true;
}
@覆盖
公共布尔onKeyDown(int-keyCode,KeyEvent事件){
if(Integer.parseInt(android.os.Build.VERSION.SDK)<5
&&keyCode==KeyEvent.keyCode\u返回
&&event.getRepeatCount()==0{
onBackPressed();
}
返回true;
}
根据您正在运行/构建的Android版本,您可能需要在您的活动中添加一些帮助来点击后退按钮。添加此功能可提供以下帮助:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (Integer.parseInt(android.os.Build.VERSION.SDK) < 5
&& keyCode == KeyEvent.KEYCODE_BACK
&& event.getRepeatCount() == 0) {
onBackPressed();
}
return true;
}
@覆盖
公共布尔onKeyDown(int-keyCode,KeyEvent事件){
if(Integer.parseInt(android.os.Build.VERSION.SDK)<5
&&keyCode==KeyEvent.keyCode\u返回
&&event.getRepeatCount()==0{
onBackPressed();
}
返回true;
}
简单,有效,做你想做的事。但请注意,不建议在Android上明确退出应用程序。(普通GUI应用程序只调用最上面的活动finish(),让操作系统决定何时退出应用程序进程。)
简单,有效,做你想做的事。但请注意,不建议在Android上明确退出应用程序。(普通GUI应用程序只在最上面的活动上调用finish(),让操作系统决定何时退出应用程序进程。)在活动上调用moveTaskToBack(true)(它从屏幕上退出应用程序但不销毁它)在活动上调用moveTaskToBack(true)(它从屏幕上退出应用程序但不销毁它)在主屏幕上按后退键如何关闭应用程序?要使onBackPressed()
工作,它所使用的活动应该正在运行。如果您在主屏幕上,您的应用程序可能会暂停或停止。我指的是我的应用程序的主屏幕,那么您应该在OP eh?;-)中指定它除非另有规定,主屏幕通常用于Android主屏幕。在主屏幕上按back键如何关闭应用程序?要使onBackPressed()
正常工作