2015-07-28 3 views
5

Я работаю над приложением для Android, которое использует Bluetooth для связи с ближайшим компьютером. Приложение работает очень на моем собственном устройстве (Samsung Galaxy Note 3 - CM 12.1), но на моих бета-тестерах это не так.AntiVirus убивает мое приложение

Проще говоря, приложение позволяет людям писать и получать SMS от их ПК (с моей C# WPF приложения) через Bluetooth & их телефона.

Мой бета-тестер использует Samsung Galaxy Note 4 запаса ROM (Lollipop).

Сначала я подумал, что когда его экраны отключится, Android убьет MainActivity, который удерживает несколько потоков, включая поддерживающий соединение, с помощью метода блокировки inpustream.read(). Такое поведение не происходит на моем собственном устройстве: я мог бы поддерживать связь в течение целой ночи без подключения моего телефона.

Было предупреждено, однако, что использование служб позволит избежать такой проблемы, поскольку Android не ведет себя одинаково с одного устройства на другое. Поэтому я обновил свое приложение и сделал свой MainActivity использующим мой MainService для создания относительных потоков. Но это ничего не изменило.

Как видно из моего названия, проблема заключается в его антивирусе и точнее: AVG. У меня нет знаний о том, как такая антивирусная работа работает на Android, и я даже не использую ее. Замораживание AVG с титановой копией на его укоренившейся галактике Note 4, мое приложение stopepd разбилось и теперь работает отлично, как и предполагалось.

Итак, как же AVG решил убить мое приложение, когда экран устройства отключен? Как должно работать приложение, чтобы это не происходило с другими пользователями, использующими AVG или любой другой антивирус? Что я должен делать, чтобы приложение не выглядело подозрительным?

ответ

0

Я не знаю точно, что AVG сделал для вашего приложения. Но я думаю, что AVG может не позволить вашему приложению включить Bluetooth или использовать Bluetooth, когда устройство Android находится в режиме сна или отправляет/получает SMS . AVG - это один из видов антивирусных приложений, большинство из которых имеют ограниченную или сберегающую стратегию с разрешениями, особенно на корневых устройствах Android или первом приложении на Android-устройствах.

Попробуйте пояснить, что именно с AVG в реальном времени было сделано с вашим приложением. И затем попытайтесь решить свои проблемы с нежными и умными.

Например:

1.Если AVG не позволяет использовать BluetoothAdapter.enable(), чтобы заставить, чтобы включить Bluetooth, попробуйте использовать Activity.startActivityForResult(), чтобы позволить пользователям выбрать, будет ли поворот на Bleutooth или нет.

2.Если AVG не позволяет использовать Bluetooth, когда устройство Android находится в режиме сна. Вы можете попытаться использовать WakeLock.acquire() для хранения Android-устройства.

3.Если AVG не позволяет использовать отправку или получение SMS, вы можете изменить другой протокол связи, SPP или BLE или что-то еще.

Возможно, вы слышали Xiaomi.Если вы являетесь разработчиком Android в Китае, потому что Xiaomi очень популярен в Китае, вы должны иметь дело с адаптацией с Xiaomi, и тогда вы обнаружите, что Xiaomi действительно трахается для разработчиков Android в Китае.

Xiaomi не некоторые действительно удивительные вещи к оригинальному Android.For примеру:

1. AlertDialog..getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT); вы не можете предупредить диалог TYPE_SYSTEM_ALERT на некоторых Xiaomi дисках, что они не говорят вам ничего.

2.Xiaomi изменил много оригинальных тем.

3.Xiaomi изменил механизм синхронизации будильника Android, в то время как устройство сна, которое называется Wake-Up-Alignment. Это действительно ужасно для приложений, которые выполняют функцию синхронизации.

Вышеупомянутые проблемы - это то, что я встретил в Android-разработке, некоторые проблемы, которые я могу решить, некоторые у вас нет шансов его изменить.

Помните, что: адаптация с Android-устройств заключается в том, что вы должны сообщить своим пользователям, что приложение работает на большинстве популярных Android-устройств, разработчики пытаются сделать приложение запущенным на большинстве устройств Android, но, возможно, оно не работает некоторые Android devivces с настроенными ПЗУ или с некоторыми специальными приложениями третьей части. Это все, это правда, это Android.

Если проблема не может быть решена, это не проблема!

+0

Благодарим вас за ответ, но я боюсь, что я не объяснил себя более четко. Все вышеперечисленные работы. Я могу использовать Bluetooth, я могу отправлять SMS без единой проблемы. Проблема в том, что AVG убивает мое приложение. Он убивает его, как только он переходит на задний план, когда экран блокируется. Вот и все. AVG не оставит мое приложение и действующее Bluetooth-соединение живым: он остановит его. Что касается той части, где есть Android, это много одежды, что приемлемо. Но AVG убивает мое приложение, которое я не могу принять. – Mackovich