触摸关闭应用程序

Closing an application on touch

我有一个非常基本的 Android 应用程序,我一直在 Android Studio 中编写它。首先,该应用程序的目的是在启动时循环播放全屏视频,直到触摸屏幕并退出应用程序。它实际上被用作数字标牌安装的屏幕保护程序。

我有下面的代码来处理视频的播放,但似乎无法获得任何用于触摸退出的代码。在 Android 开发方面,我有点新手。

package halifax.screensaver.screensaver;
import android.app.Activity;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.widget.VideoView;

public class MainActivity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        VideoView videoView = findViewById(R.id.videoView);
        Uri uri=Uri.parse("android.resource://"+getPackageName()+"/"+R.raw.hab2);
        videoView.setVideoURI(uri);
        videoView.requestFocus();

        videoView.start();                  
        }
    }
}

如有任何帮助,我们将不胜感激

设置 OnClickListener 并调用 finish() 退出应用程序并显示 activity 启动前打开的屏幕。如果你想在你自己的应用调用 onBackPressed() 中转到之前打开的 activity。或者,如果您希望用户回家 screen/launcher,请调用意图:

Intent i = new Intent(Intent.ACTION_MAIN);
i.addCategory(Intent.CATEGORY_HOME);
startActivity(i);

您是否尝试过在 videoview 上设置 onclick 并完成 activity?

videoView.setOnClickListener(new View.OnClickListener()
{
    @Override
    public void onClick(View v)
    {
        finish();
    }
});

试试这个

对 videoview

的触摸事件使用 setOnTouchListener
videoView.setOnTouchListener(new View.OnTouchListener() {
            @Override
            public boolean onTouch(View v, MotionEvent event) {
                finish();
                return false;
            }
        });