Android SDK中替代Telephony.Sms.getDefaultSmsPackage()的方法是什么?

5
我想检查我的应用程序是否是设备中的默认短信应用程序?在 Android Developer Blog 中,他们使用Telephony.Sms.getDefaultSmsPackage(),其中Telephonyandroid.provider.Telephony 的一部分,后者是开源发布的一部分。其中明确提到了“您不应尝试从应用程序中使用它。”,那么我如何在设备中找到默认的短信应用程序?
1个回答

1

Telephony是android.provider.Telephony的一部分,它是开源发布的一部分。

你没有链接到“开源发布”。你链接到了一个2008年的电子邮件。

这里明确提到“您不应尝试从您的应用程序中使用它。”

该短语未在博客文章中提到。那是来自2008年的电子邮件。

那我如何在设备中找到默认的短信应用程序?

使用Telephony.Sms.getDefaultSmsPackage(),如博客文章中所述。


正如你所说,我正在使用Telephony.Sms.getDefaultSmsPackage(),但是我得到了Telephony未定义的错误。我应该导入哪个包来使用telephony?因为我知道Telephony是android.provider.Telephony的一部分,而这不是Android SDK的一部分。 - Anshul
我在Telephony.Sms.getDefaultSmsPackage()遇到了问题,因此我提出了这个问题,我得到了Telephony未定义的错误。 - Anshul
2
@pandit:android.provider.Telephony是Android SDK的一部分,从API Level 19开始提供:http://developer.android.com/reference/android/provider/Telephony.html。您需要将项目的构建目标设置为API Level 19或更高版本(例如,在Eclipse中选择“项目”>“属性”>“Android”)。 - CommonsWare
1
这个方法 Telephony.Sms.getDefaultSmsPackage() 需要19个API……所以我想知道是否有任何替代方法? - Umang Kothari
@batman 我也遇到了同样的问题。我所做的就是检查操作系统版本(如果版本=KitKat),然后不调用那个API。当然,我还注释了该函数。版本检查是最安全和最好的方法。 - TheRealChx101
此调用无法工作,因为在API 19之前没有“默认短信包”。 - Lampione

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接