Tôi hiện đang truy vấn cơ sở dữ liệu Android sms/mms
để truy xuất tất cả các tin nhắn đã nhận và gửi đi MMS
. Tất cả mọi thứ hoạt động tốt, nhưng tôi nhận thấy rằng cột m_size chỉ có một giá trị cho MMS
tin nhắn đã được gửi (không nhận được).Truy vấn MMS chỉ trả về kích cỡ tin nhắn của các tệp đính kèm đã gửi
Dưới đây là các truy vấn:
final String[] projection = new String[]{ "*" };
Uri uri = Uri.parse("content://mms");
Cursor query = _activity.getContentResolver().query(uri, projection, null, null, null);
sử dụng này, tôi có thể lấy tổng số byte của thông điệp, nhưng nó đang trở null
cho tin nhắn MMS đã được nhận.
if (query.moveToFirst())
{
do
{
// ...
Integer size = query.getInt(query.getColumnIndex("m_size"));
}
while (query.moveToNext());
}
Mà không cần phải tính toán kích thước "data"
cột của thông điệp, là có bất cứ điều gì sai trái với truy vấn của tôi/bất cứ lý do tại sao m_size
sẽ trở lại null
cho MMS
thông điệp đã được nhận (và có một tập tin đính kèm hình ảnh hợp lệ)?
Lưu ý: Không chắc chắn nếu bất cứ điều gì đã thay đổi trong API trước đó, vì API này không được ghi lại. Tôi hiện đang thử nghiệm/phát triển trên Nexus 5X bằng API 23.
Chỉ cần thông tin, tôi đang chạy KitKat (API 19) trên Galaxy S4 và các giá trị 'm_size' hiện diện cho cả tin nhắn đã gửi và đã nhận. –
@MikeM. thú vị, cảm ơn cho đầu vào của bạn. điều này có thể chắc chắn là điều này có thể đã thay đổi cho API 23 rồi. –