すべての Android デバイスに付属する SMS アプリケーションのパッケージ名を知る必要があるアプリケーションを開発しています。人々はそうだと言いますがcom.android.mms
、これは必ずしも真実ではありません。
com.android.mms
Sony Xperia デバイスでは、アプリケーションがこれらのデバイスで 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>