Почему некоторые телефоны Android (›4.4) могут изменять данные SMS, не являясь приложением для обмена сообщениями по умолчанию?

Поскольку, согласно Google, начиная с Android KitKat, только приложение для обмена сообщениями по умолчанию сможет изменять базу данных SMS на телефоне. И мы должны сделать наше собственное приложение по умолчанию для модификации базы данных SMS.

Но проблема в том, что я наблюдал некоторые телефоны Android с версией 4.4 выше, все еще можно удалить SMS или пометить их как прочитанные, даже если они не выбраны по умолчанию в настройках телефона? (Например, Gionee Marathon M4 и т. д.).

Как это возможно? Разработчик телефона настраивает прошивку в соответствии со своими требованиями? Если да, то какое решение?

Мне нужно сделать приложение для леденцов, которое могло бы читать SMS и помечать их как прочитанные, а ТАКЖЕ это не должно влиять на приложение обмена сообщениями по умолчанию, которое поставляется с телефоном. Стандартное приложение для обмена сообщениями должно уведомлять каждый раз о получении SMS? Является ли это возможным?

Заранее спасибо.


person Partha Sarathi Mishra    schedule 22.02.2016    source источник
comment
Разработчик телефона настраивает прошивку в соответствии со своими требованиями? да. Некоторые OEM-производители не обновляют ВСЕ API-интерфейсы при выпуске версии ОС. На самом деле это довольно распространено у некоторых OEM-производителей. Они скажут, что это Android 5.0, но API-интерфейсы телефона относятся к версии 3. Я видел это с API-интерфейсом телефона, API-интерфейсом контактов и некоторыми другими. Это кошмар, если вы выполняете интеграцию системного уровня с устройствами.   -  person David C Adams    schedule 22.02.2016
comment
Спасибо за информацию. Но как сделать так, чтобы ваш текущий API приложения был на самом деле из помеченной версии или из более старой версии?   -  person Partha Sarathi Mishra    schedule 23.02.2016


Ответы (1)


Да, ваше приложение должно быть приложением SMS по умолчанию для изменения хранилища SMS после API 19 (KitKat), но существует обходного пути для KitKat, чтобы преодолеть эту безопасность. Для API 21 (Lollipop) нет известного способа снять это ограничение, не будучи приложением SMS по умолчанию. Итак, вы можете читать SMS, но не можете отметить как прочитанное.

Также вполне возможно, что некоторые производители смартфонов снимают это ограничение, но я не понимаю, какое решение вам нужно в такой ситуации?

person Mirza Brunjadze    schedule 22.02.2016
comment
Я уже упомянул требования в вопросе. Я повторяю снова. Я установлю свое приложение в качестве приложения для SMS по умолчанию, но все равно хочу, чтобы стандартное приложение для SMS получало уведомления при получении SMS. Кроме того, стандартное SMS-приложение должно иметь возможность помечать SMS-сообщения как прочитанные, но не установленные по умолчанию. В настоящее время я прочитал и заметил, что после того, как вы сделаете свое приложение по умолчанию, другое стандартное SMS-приложение даже не получит уведомление и не отобразит любое сообщение при открытии. Как разработчик Android, я ничего не нашел. На самом деле я хочу сделать свое приложение более универсальным. Есть ли обходной путь для этого? - person Partha Sarathi Mishra; 23.02.2016
comment
Извините, если я неправильно понял ваш вопрос, но, как я уже сказал, для API 21 (Lollipop) нет известного способа снять это ограничение. Поэтому вы просто не можете делать то, что хотите. По крайней мере, это то, что я знаю - person Mirza Brunjadze; 23.02.2016
comment
Ok. Спасибо за подтверждение. - person Partha Sarathi Mishra; 23.02.2016