0
我嘗試使用此命令從遠程登錄發送短信到模擬器短信模擬器顯示奇怪的字符
:sms send (number) (body)
因爲某些原因消息有時候會在正常的英語和其他瀏覽次中文字符!
當我嘗試一下本作例子,我得到的消息完全:
sms send 123 hey man what's up
當我嘗試,我得到中國人物:
sms send 123 car id =5, latitude = 4343.343, longitude =23112
這裏是我的代碼:
public class SmsReceiver extends BroadcastReceiver {
ArrayList<SmsReceivedListener> listeners = new ArrayList<SmsReceivedListener>();
private static SmsReceivedListener listener;
private static final String SMS_RECEIVED = "android.provider.Telephony.SMS_RECEIVED";
@SuppressLint("NewApi") @Override
public void onReceive(final Context context, final Intent intent) {
if (intent != null && SMS_RECEIVED.equals(intent.getAction())) {
final SmsMessage smsMessage = extractSmsMessage(intent);
if(getSmsReceivedListener()!=null)
{
String body = smsMessage.getMessageBody();
Toast.makeText((Context) context, body,
Toast.LENGTH_LONG).show();
}
}
}
@SuppressLint("NewApi") private SmsMessage extractSmsMessage(final Intent intent) {
final Bundle pudsBundle = intent.getExtras();
final Object[] pdus = (Object[]) pudsBundle.get("pdus");
final SmsMessage smsMessage = SmsMessage.createFromPdu((byte[]) pdus[0]);
return smsMessage;
}
}