我对Android很陌生并且有调试问题。我知道什么是ANR,并且在我正常运行我的应用程序时看不到它们。但是,当我尝试调试我的BoradcastReceiver时,我太慢并得到ANR消息。
有没有办法在调试会话期间关闭ANR?我可以使用log语句来查看发生了什么,但这很烦人....
编辑:实际上,我不想在LogCat中压制ANR,我想告诉android在调试期间不要抛出ANR。我的意思是允许广播接收器运行时间超过5秒。但我想这是不可能的,而是我应该委托给一个允许运行更长时间的服务,我也可以更容易地调试。
提前致谢!
招呼
答案 0 :(得分:8)
转到设置 - >开发人员选项并选中显示所有ANR。
这将显示在后台运行的应用程序的“应用程序无响应”对话框。您可以单击对话框中的“等待”按钮以防止系统终止您的进程。请注意,对于在前台运行的应用程序,将自动打开该对话框。对于后台应用程序,您必须启用此选项。
答案 1 :(得分:1)
没有。此消息是通过Android操作系统处理的,而不是您的应用程序,并且无法在模拟器上隐藏它。如果你不想看到它并且你的BroadcastReceiver
正确接收了调用,只是没有运行成功的代码,你可以使用try-catch块,而不是你的应用程序崩溃,catch将被处理,你可以制作祝酒词或任何你想要的东西。
答案 2 :(得分:1)
您可能会发现this resource对您的问题很有用。重点:
php bin/console make:user
php bin/console make:migration
php bin/console doctrine:migrations:migrate
撤消--persistent