【发布时间】:2015-07-28 07:56:28
【问题描述】:
我正在开发一个使用 蓝牙 与附近 PC 通信的 Android 应用程序。 该应用在我自己的设备(Samsung Galaxy Note 3 - CM 12.1)上运行良好,但在我的 beta 测试人员中却不行。
简单地说,该应用程序允许人们编写和接收来自他们的短信 PC(使用我的 C# WPF 应用程序)通过蓝牙和他们的手机。
我的 beta 测试人员使用的是 Samsung Galaxy Note 4 stock ROM (Lollipop)。
起初我以为当他的屏幕关闭时,Android 会杀死 MainActivity,它持有几个线程,包括保持连接活动的线程(使用 inpustream.read() 阻塞方法)。这种行为不会发生在我自己的设备上:我可以在不插入手机的情况下保持连接一整晚。
不过,有人警告我,使用 services 可以避免此类问题,因为 Android 从一台设备到另一台设备的行为方式不同。所以我更新了我的应用程序并让我的 MainActivity 使用我的 MainService 来生成相关线程。但这并没有改变任何事情。
正如我的标题所暗示的,问题在于他的防病毒软件,更准确地说是:AVG。 我不知道这种防病毒软件如何在 Android 上运行,我什至没有使用过。 通过在他的扎根 Galaxy Note 4 上使用 Titanium Backup 冻结 AVG,我的应用程序停止崩溃,现在可以正常运行。
所以我想知道,当设备屏幕关闭时,AVG 为何决定终止我的应用程序? 我的应用程序应该如何运行,以便其他使用 AVG 或任何其他防病毒软件的用户不会发生这种情况?我应该怎么做才能让我的应用看起来不可疑?
【问题讨论】:
标签: android bluetooth antivirus