【发布时间】:2015-06-12 08:42:17
【问题描述】:
在测试过程中,我遇到了一个问题,当重复按下音量减小键时,我的应用程序会提示 ANR 对话框。我没有在我的活动中处理任何输入键事件。
日志 应用程序没有响应:AppWindowToken{71f775 token=Token{2123aeac ActivityRecord{332f745f u0 com.test/.uis.CallActivity t766}}}。自事件以来已 5006.8 毫秒,自等待开始以来已 5003.3 毫秒。原因:等待,因为没有窗口有焦点,但有一个焦点应用程序可能最终在完成启动时添加一个窗口。 04-06 16:54:34.885: I/WindowManager(1633): 输入事件调度超时发送到应用程序 AppWindowToken{71f775 token=Token{2123aeac ActivityRecord{332f745f u0
代码 最终的 WindowManager.LayoutParams 参数 = 新的 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); 参数.dimAmount = 0.0f; // 昏暗的水平。 0.0 - 没有暗淡,1.0 - 完全 // 不透明 getWindow().setAttributes(params);
getWindow().addFlags(
WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED |
WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
【问题讨论】:
-
请提供完整的日志。您确定您没有使用任何服务或继承任何可能使用这些事件的类吗?
-
不要只显示错误日志 - 显示导致它的代码。
-
添加了更多代码,怀疑是 ANR。我没有使用任何这些事件。