【问题标题】:What is the package name for stock SMS application?股票 SMS 应用程序的包名称是什么?
【发布时间】:2015-09-16 02:58:33
【问题描述】:

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

在 Sony Xperia 设备中,包名称不是 com.android.mms,因为我的应用程序无法在这些设备中打开 SMS 应用程序。我的应用程序在三星、华为和 LG 设备上运行良好,但在索尼 Xperia 中似乎 SMS 应用程序的包名称已更改。

原因是我必须注册一个BroadcastReceiver 才能在 SMS 数据库更改时通知我的应用程序。我尝试使用 ContentObserver,但在 LG 设备中它不起作用。我也在 Stackoverflow 中提出了这个问题,但还没有人知道答案,所以我想尝试使用这种BroadcastReceiver 方法。正如我所说,Xperia 的包名称 com.android.mms 是错误的,所以在我知道之前,我的清单的以下代码不适用于我的 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>

【问题讨论】:

  • “我正在开发一个应用程序,它需要知道所有 android 设备附带的 SMS 应用程序的包名称”——并非所有 Android 设备都有一个 SMS 应用程序。许多人没有(例如,平板电脑)。有些可能不止一个。

标签: android package sony-xperia


【解决方案1】:

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

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

这可能是workaround

【讨论】:

  • 谢谢。问题是我需要在清单中硬编码包名。如果您看到我在问题中所做的更改,您就会明白为什么。
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-25
    • 1970-01-01
    相关资源
    最近更新 更多