Android Volume down按键在我的应用程序中导致ANR

时间:2015-04-07 16:51:25

标签: java android

在测试期间,我遇到了一个问题,当重复按下音量减小键时,我的应用程序提示符与ANR对话框。我没有在我的活动中处理任何输入键事件。

日志 应用程序没有响应:AppWindowToken {71f775 token = Token {2123aeac ActivityRecord {332f745f u0 com.test / .uis.CallActivity t766}}}。事件发生后为5006.8ms,等待5003.3ms。原因:等待,因为没有窗口有焦点,但有一个专注的应用程序,最终可能会在启动完成后添加一个窗口。 04-06 16:54:34.885:I / WindowManager(1633):输入事件调度超时发送到应用程序AppWindowToken {71f775 token = Token {2123aeac ActivityRecord {332f745f u0

代码   final WindowManager.LayoutParams params = new WindowManager.LayoutParams(                 WindowManager.LayoutParams.WRAP_CONTENT,WindowManager.LayoutParams.WRAP_CONTENT,                 WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY,                 WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL                         | WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH,PixelFormat.TRANSLUCENT);         params.dimAmount = 0.0f; //昏暗程度0.0 - 没有暗淡,1.0 - 完全                                  //不透明         。getWindow()setAttributes(PARAMS);

    getWindow().addFlags(
            WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED |
                    WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);

1 个答案:

答案 0 :(得分:0)

在此日志出现前5秒检查日志中发生了什么

  

ActivityRecord {332f745f u0 com.test / .uis.CallActivity t766}}}。它有   事件发生后为5006.8ms,等待开始后为5003.3ms。原因:   等待,因为没有窗口有焦点,但有一个专注的应用程序   最终可能会在完成启动时添加一个窗口

特别检查输入事件(来自InputDispatcher或InputReader的日志)。这可能会给人一种线索。有时,如果您的系统负载很重(RAM空间)并且您正在以高速率发送事件,则会发生这种情况。

  

我还建议你做以下事情:

     
      
  1. 您可以通过将任何其他应用程序保留在前台来尝试相同的操作。
  2.   
  3. 如果您没有检查任何其他设备,请尝试检查其他设备。(只是为了确保这是您的应用   问题)。
  4.   

由于