使用UTF-8中的ContentResolver对SMS消息正文进行编码

int*_*_32 5 sms android utf-8 android-contentprovider

我正在尝试从设备中检索SMS消息:

Cursor cursor = mContext.getContentResolver().query(Uri.parse("content://sms/inbox"), null, null, null, null);
        while (cursor.moveToNext()) {
            SmsMessage smsMessage = new SmsMessage(cursor);
            smsMessages.add(smsMessage);
        }

//.....
public SmsMessage(Cursor cursor) {
        mSender = cursor.getString(cursor.getColumnIndex("address"));
        mText = cursor.getString(cursor.getColumnIndex("body"));
        mTimestamp = cursor.getLong(cursor.getColumnIndex("date"));
    }
Run Code Online (Sandbox Code Playgroud)

SMS消息是俄语,但SMS不是UTF-8编码.三星设备上没有编码设置,但是,例如,在摩托罗拉Moto G上,它设置为"自动".那么,我应该如何以编程方式确定编码并以UTF-8编码SMS主体?

int*_*_32 2

问题出在服务器端,而不是 Android 上。