2015-03-31 46 views
0

消息类型常量在Telephony.TextBasedSmsColumns中定义。访问SMS消息类型常量

简而言之,所提供的其他SO答案:

MESSAGE_TYPE_ALL = 0; 
MESSAGE_TYPE_INBOX = 1; 
MESSAGE_TYPE_SENT = 2; 
MESSAGE_TYPE_DRAFT = 3; 
MESSAGE_TYPE_OUTBOX = 4; 
MESSAGE_TYPE_FAILED = 5; // for failed outgoing messages 
MESSAGE_TYPE_QUEUED = 6; // for messages to send later 

我可以很容易地在我的课重新定义这些,但似乎高效因为它们在Android的API中已经定义不。 Telephony.TextBasedSmsColumns是一个接口,所以我不能直接访问常量(即:Telephony.TextBasedSmsColumns.MESSAGE_TYPE_OUTBOX不起作用)。

如何使用这些常量?我不想重新定义它们。

回答

3

如何使用这些常量?

使用实现该接口的类(例如,Telephony.Sms.MESSAGE_TYPE_SENT)。

+0

嗯,事实证明,我无法访问的原因是因为我针对API级别16,该接口未实现。你碰巧知道如何访问那些API上的常量?我似乎无法弄清楚。 – Juicy 2015-03-31 12:09:34

+1

@Juicy:“你碰巧知道如何访问那些API上的常量?” - 你不能,因为它们不存在于该版本的Android SDK中。您需要根据API Level 19+(Android Studio中的“compileSdkVersion”,Eclipse中的Project> Properties> Android中的)进行构建。请注意,更改'compileSdkVersion'不会影响您支持的Android版本 - 它只会在编译时更改您可以使用的类,方法,常量等。 – CommonsWare 2015-03-31 12:11:48