主屏幕上的Android触摸事件不在任何视图上

时间:2016-11-03 13:24:14

标签: android touch broadcast

我正在开发一个Android应用程序项目,我正在进行连续任务,当用户点击手机主屏幕上的任何地方时,我必须停止这项工作。请任何人指导我如何在我的应用程序中获取触摸事件,以便我可以完成一些任务。任何触摸广播或我可以使用的任何东西。这样我就可以进入我的应用程序了。指导我。

我不想要这个东西 https://developer.android.com/reference/android/view/View.OnTouchListener.html

谢谢。

1 个答案:

答案 0 :(得分:0)

在您的活动课程中尝试此操作,

     public class TouchActivity extends Activity 
{
    @Override
    protected void onCreate(Bundle savedInstanceState) 
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    @Override
    public boolean onTouchEvent(MotionEvent event) 
    {
        if (event.getAction() == MotionEvent.ACTION_DOWN)
        {
            Log.d("Touch", "Touch");
            sendBroadcast(new Intent("touch_event_has_occured"));
        }

        return super.onTouchEvent(event);
    }
}

现在在您的全球广播接收器中,您将获得brodcast

public class TouchReveiver extends BroadcastReceiver 
{

    @Override
    public void onReceive(Context context, Intent intent) 
    {
        if (intent.getAction().equals("touch_event_has_occured"))
        {
            Log.d("Touch", "Touch");
        }
    }

}

不要忘记用动作注册接收器