首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >可访问性服务崩溃,无法重新启动

可访问性服务崩溃,无法重新启动
EN

Stack Overflow用户
提问于 2017-03-22 14:56:19
回答 1查看 714关注 0票数 3

我正在测试t他的教程实现可访问性服务以捕捉USSD菜单上的一些文本。

这是我第一次在调试模式下使用Android编译和启动应用程序时,它工作得很好:

我可以在调试器中看到这一行:

代码语言:javascript
复制
Log.d(TAG, "onServiceConnected");

在我调用USSD菜单之后,我就可以看到调试器中响应消息的内容了。

但是,如果我断开电话,然后再次尝试同一应用程序而不作任何修改,则可访问性服务似乎无法工作,甚至无法启动,因为我甚至看不到调试器中的Log.d行。

代码语言:javascript
复制
Log.d(TAG, "onServiceConnected");

我尝试过以下单元测试:

1.如果我尝试卸载应用程序并重新编译,仍然不能工作。

2.如果我卸载这个应用程序,重新启动手机,然后重新编译,就会再次工作,直到下一次我从Android拔下和插入USB电缆来运行一个新的调试。

3.如果我只是使用Android的refactor选项重命名可访问性服务(例如,在名称后添加一个2),则将再次工作,直到下次我拔出并再次插入USB线缆从Android运行新的调试为止。

当我拔掉USB电缆时,可访问性服务似乎在某个地方卡住或崩溃,而该应用程序无法在下次重新启动它。我还可以在控制台中看到以下错误消息,这使我认为这就是问题所在:

代码语言:javascript
复制
((latest content captured from the USSD popup))
--- the USB cable is unplugged and plugged again ---
03-22 21:43:04.931 5774-5774/com.myapp D/UssdCatcher3: onAccessibilityEvent
03-22 21:43:04.932 5774-5774/com.myapp D/UssdCatcher3: com.myapp.MainActivity
03-22 21:43:12.023 845-1950/? W/ActivityManager: Scheduling restart of crashed service com.myapp/.UssdCatcher3 in 1000ms
03-22 21:43:13.033 845-858/? I/ActivityManager: Start proc 10243:com.myapp/u0a54 for service com.myapp/.UssdCatcher3
03-22 21:43:16.488 845-858/? W/ActivityManager: Scheduling restart of crashed service com.myapp/.UssdCatcher3 in 1000ms
03-22 21:43:16.490 845-858/? I/ActivityManager:   Force stopping service ServiceRecord{cb2cd91 u0 com.myapp/.UssdCatcher3}
03-22 21:43:55.225 10882-10882/? W/dex2oat: Compilation of java.lang.Object com.myapp.UssdCatcher3.access$super(com.myapp.UssdCatcher3, java.lang.String, java.lang.Object[]) took 109.013ms

这很奇怪,知道为什么会发生这种事吗?

非常感谢你的建议!

EN

回答 1

Stack Overflow用户

发布于 2022-02-10 19:29:03

我的应用程序也有同样的问题,我的解决方案是,当我的应用程序无法与可访问性服务建立通信时,请用户重新启动他的手机。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42955267

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档