Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/200.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在android中手动结束应用程序?_Android_Exit - Fatal编程技术网

如何在android中手动结束应用程序?

如何在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

我想在用户从主屏幕按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;
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()
正常工作