2016-11-03 4 views
1

Я работаю над проектом Android-приложения, в котором я выполняю непрерывную задачу, и когда пользователь нажимает в любом месте на главном экране телефона, мне нужно прекратить эту работу. Пожалуйста, всем мне расскажу, как я могу получить событие касания в своем приложении, чтобы я мог сделать какую-то задачу. Любая трансляция для прикосновения или любая вещь, которую я могу использовать. так что я могу получить в своем приложении. Отвечайте мне.Android touch событие на главном экране не на любом экране

Я не хочу эту вещь https://developer.android.com/reference/android/view/View.OnTouchListener.html

Спасибо.

ответ

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"); 
     } 
    } 

} 

не забудьте зарегистрировать приемник с действием

+0

Это работает только тогда, когда приложение открыто. Я хочу получить событие касания, даже приложение не открыто. –

Смежные вопросы