AntiVirus杀死了我的应用程序

时间:2015-07-28 07:56:28

标签: android bluetooth antivirus

我正在使用蓝牙与附近的PC通信的Android应用程序。 该应用程序在我自己的设备上非常有效(三星Galaxy Note 3 - CM 12.1 ),但我的beta测试人员却没有。

  

简单地说,该应用程序允许人们写他们的短信   PC(使用我的C#WPF应用程序)通过蓝牙&他们的电话。

我的测试人员正在使用三星Galaxy Note 4库存ROM(Lollipop)

起初我认为当他的屏幕关闭时,Android会杀死MainActivity,它包含一些线程,包括保持连接活动的线程(使用inpustream.read()阻塞方法)。这种行为不会发生在我自己的设备上:我可以保持连接一整晚不插电话。

但我被警告说,使用服务可以避免此类问题,因为Android从一台设备到另一台设备的行为方式不同。所以我更新了我的应用程序并使我的MainActivity使用我的MainService来生成相对线程。但它没有改变一件事。

正如我的标题所暗示的那样,问题在于他的防病毒,更准确地说是:AVG。 我不知道这样的防病毒如何在Android上工作,我甚至不使用它。 通过使用Titanium Backup冻结AVG 在他的root Galaxy Note 4上,我的应用程序stopepd崩溃,现在正在按预期运行良好。

所以我想知道,当设备屏幕关闭时AVG如何决定杀死我的应用程序? 我的应用程序应该如何运行,以便使用AVG或任何其他防病毒软件的其他用户不会发生这种情况?我应该怎么做才能让我的应用看起来不像嫌疑人?

1 个答案:

答案 0 :(得分:0)

我不确切知道AVG对你的应用程序做了什么。但我认为AVG可能不会让你的应用程序强制打开蓝牙或在Android设备休眠或发送/接收短信时使用蓝牙。 AVG是一种防病毒应用程序,其中大多数具有许多权限请求限制或省电策略,尤其是在已植根的Android设备或已经在Android ROM中的第一部分应用程序。

尽量明确AVG对您的应用所做的真正意义。然后尝试用温和而聪明的方式解决您的问题。

例如:

1.如果AVG​​不允许您使用BluetoothAdapter.enable()强制打开蓝牙,请尝试使用Activity.startActivityForResult()让用户选择是否打开Bleutooth。

2.如果AVG​​在Android设备休眠时不允许您使用蓝牙。您可以尝试使用WakeLock.acquire()来保存Android设备。

3.如果AVG​​不允许您使用SMS发送或接收。您可以更改其他通信协议,SPP或BLE或其他。

也许你听过小米。如果你是中国的Android开发者,因为小米在中国非常受欢迎,你必须应对小米的适应,然后你会发现小米对中国的Android开发者来说真的很他妈

小米并没有对原版Android有些惊人的东西。例如:

1。 AlertDialog..getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT); 你不能在一些xiaomi ROM上警告TYPE_SYSTEM_ALERT对话框,他们什么都不告诉你。

2.小说修改了很多原创主题。

3.Xiaomi在设备休眠时更改了Android闹钟定时机制,称为唤醒对齐。对于具有定时功能的应用来说,这真的很糟糕。

以上问题是我在Android开发中遇到的问题,我可以解决一些问题,有些问题我没有机会改变它。

请记住:Android设备的适应性是,您必须让用户知道您的应用适用于大多数流行的Android设备,开发人员尝试让应用在大多数Android设备上运行,但它可能无法在某些设备上运行Android可以使用自定义的ROM或一些特殊的第三方应用程序。就是这样,那就是Android。

如果问题无法解决,那不是问题!