什么是库存短信应用程序的包名称?

时间:2014-02-22 09:15:50

标签: android package sony-xperia

我正在开发一个应用程序,需要知道所有Android设备附带的SMS应用程序的包名称。人们说它是com.android.mms,但并非总是如此。

在Sony Xperia设备中,软件包名称不是com.android.mms,因为我的应用程序无法在这些设备中打开SMS应用程序。我的应用程序在三星,华为和LG设备上运行良好,但在索尼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>

2 个答案:

答案 0 :(得分:1)

检查this PackageManager提供了查询和操作已安装的软件包及相关权限等的方法。

但是如果你不介意我问,为什么直接链接到包?

这可能是workaround

答案 1 :(得分:0)

基于对运行Lollipop(5.1.1)的Xperia Z3C进行测试,我认为该短信应用程序是com.sonyericsson.conversations