我正在從內容提供商讀取短信的Android應用程序。該應用程序工作正常,並從內容提供商讀取短信罰款。但有時(非常罕見)「地址」列會爲短信息返回空值。Android:空間字符串問題的'地址'列短信內容提供商
下面是示例代碼,我使用的是什麼:
String whereClause = "_id > " + String.valueOf(Database.getLastSmsId(this));
Cursor cursor = getContentResolver().query(smsUri, null, whereClause, null, null);
if(cursor.moveToFirst()) {
do {
int id = cursor.getInt(cursor.getColumnIndex("_id"));
String protocol = cursor.getString(cursor.getColumnIndex("protocol"));
String body = cursor.getString(cursor.getColumnIndex("body"));
String address = cursor.getString(cursor.getColumnIndex("address")); // <----- Here is the problem
// address returns as null string
String date = cursor.getString(cursor.getColumnIndex("date"));
Log.d(Constants.TAG, "SMS event received. address="+address);
} while(cursor.moveToNext());
}
我得到摩托羅拉Driod的Android V2.3.5這個問題。請指教。
Ali
空值在對話期間發生。我們捕獲所有消息,並突然爲其中一條消息返回null,而其餘消息在只與單個人通信時顯示正常。 – Sali 2012-01-11 15:06:49
文檔中還說可能發生這種情況。沒有解決方案,您應該確保您的應用程序也使用空值。 – WarrenFaith 2012-01-11 15:19:18