我正在开发一个从内容提供商那里读取短信的 android 应用程序。该应用程序运行良好,并且可以从内容提供商处读取短信。但有时(非常罕见)“地址”列会为短信返回 null。
这是我正在使用的示例代码:
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());
}
我在 Motorola Driod Android v2.3.5 上遇到了这个问题。请指教。
阿里