【问题标题】:how to protect the notification bar?如何保护通知栏?
【发布时间】:2013-03-28 17:51:32
【问题描述】:

我想根据状态栏检测动作。其实我想限制这部分的权利。我试过了

mGrid.setOnTouchListener(new OnTouchListener(){
               public boolean onTouch(View arg0, MotionEvent arg1){
                    int x = (int) arg1.getX();
                    int y = (int) arg1.getY();
                    Log.d("Screen", String.valueOf(x));
                    Log.d("Screen", String.valueOf(y));
                    switch(arg1.getAction()){
                    case MotionEvent.ACTION_OUTSIDE:
                        Log.d("tototootot", "acces dinied");
                    //case MotionEvent.


                    }


                    return true;
               } 

【问题讨论】:

  • 状态栏和通知栏一样?
  • 你不能。通知栏在您的应用程序区域之外。其上的运动事件不会传递给您
  • 那么我怎样才能检测到此栏中的操作?
  • 你为什么要这样做?如果通知栏只占用您想要使用的屏幕空间,则完全隐藏通知栏会容易得多。

标签: android statusbar motionevent


【解决方案1】:

您无法真正检测到通知栏上的触摸和事件。

但是,您可以通过使用不允许触摸事件过滤的系统覆盖在通知栏上绘制来阻止所有触摸完全到达它。 This SO 问题展示了如何绘制叠加层。确保在完成应用后将其删除,因为无论哪个应用在前台,它都会持续存在。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-07
    相关资源
    最近更新 更多