2015-03-31 42 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