2012-04-24 2 views
4

Я знаю, что поставщик SMS не должен использоваться, но я хотел бы знать, каковы возможные значения для поля, называемого «статус» (некоторые из других полей тоже, но я в основном заинтересованы в статусе) и что эти значения означают, когда я это делаю:Android sms status

Uri uriSms = Uri.parse("content://sms/inbox"); 
Cursor c = context.getContentResolver().query(uriSms, null,null,null,null); 

//fields retrieved 
0: _id 
1: thread_id 
2: address 
3: person 
4: date 
5: protocol 
6: read 
7: status 
8: type 
9: reply_path_present 
10: subject 
11: body 
12: service_center 
13: locked 

ответ

8

Я нашел ответ самостоятельно. В классе core/java/android/provider/Telephony.java (class on github here). Есть такие строки кода:

/** 
* The TP-Status value for the message, or -1 if no status has 
* been received 
*/ 
public static final String STATUS = "status"; 

public static final int STATUS_NONE = -1; 
public static final int STATUS_COMPLETE = 0; 
public static final int STATUS_PENDING = 32; 
public static final int STATUS_FAILED = 64; 

Если вы заинтересованы в этих значений, вы можете захотеть взглянуть на колонку «типа» тоже. Это может быть полезно.

+0

Ссылка не работает. – powder366

+1

@ powder366 https://android.googlesource.com/platform/frameworks/opt/telephony/+/master/src/java/android/provider/Telephony.java должно работать – p4u144

+0

Как получить отправленное сообщение, которое не отправлено, означает, что статус: ** STATUS_FAILED ** –