Я разрабатываю приложение, которое должно знать имя пакета приложения SMS, которое поставляется со всеми устройствами Android. Люди говорят, что это com.android.mms
, но это не всегда так.Что такое название пакета для SMS-приложения?
В устройствах Sony Xperia имя пакета не равно com.android.mms
, потому что мое приложение не может открыть приложение SMS на этих устройствах. Мое приложение хорошо работает на устройствах Samsung, Huawei и LG, но в Sony Xperia кажется, что название пакета приложения SMS изменилось.
Причина этого заключается в том, что я должен зарегистрировать BroadcastReceiver
, чтобы получить уведомление о своем уведомлении при изменении базы данных SMS. Я пытался с ContentObserver, но в устройствах LG он не работает. Я также задал этот вопрос в Stackoverflow, но никто не знает ответа, поэтому я хочу попробовать с этим подходом BroadcastReceiver
. Как я уже сказал, имя пакета com.android.mms
неправильно для Xperia, поэтому пока я не знаю его, следующий код моего манифеста не будет работать для моего BroadcastReceiver
:
<receiver
android:name="windowsmobilewidget.backend.observers.MessagesChangesReceiver"
>
<intent-filter>
<action android:name="android.intent.action.PROVIDER_CHANGED"/>
<data android:scheme="content"/>
<data android:host="com.android.mms"/>
</intent-filter>
</receiver>
«Я разрабатываю приложение, которое необходимо знать имя пакета приложения SMS, которое поставляется со всеми устройствами Android »- не все устройства Android имеют одно приложение для SMS. У многих их не будет (например, планшеты). У некоторых может быть более одного. – CommonsWare