У меня есть приложение для Android, которое получает SMS и показывает его в TextView, но текст разбивается на две части, и я получаю только последнюю его часть. Текстовое сообщение:
"Sometext SometextLBS: http://www.somewebsite.com/Page.aspx?n=4.78900,-24.03711 ,bat:69%"
Проблема в буквах L B S, потому что как только я меняю это, строка не разбивается? Я попытался создать другую переменную и поместить ее внутри, если с помощью переменной, которую я определил в цикле for.
@Override
public void onReceive(Context context, Intent intent) {
//Toast.makeText(context, "SMS Received", Toast.LENGTH_SHORT).show();
if (intent.getAction().equals("android.provider.Telephony.SMS_RECEIVED")) {
Bundle bundle = intent.getExtras();
SmsMessage[] msgs;
String msg_from;
if (bundle != null) {
try {
Object[] pdus = (Object[]) bundle.get("pdus");
msgs = new SmsMessage[pdus.length];
for (int i = 0; i <msgs.length; i++) {
msgs[i] = SmsMessage.createFromPdu((byte[]) pdus[i]);
msg_from = msgs[i].getOriginatingAddress();
String msgBody = msgs[i].getMessageBody();
msgBody=msgBody.replaceAll("Hexagonal prismeLBS: ","");
//String coordenatesX = msgBody.substring(msgBody.indexOf("=")+1);
String coordenatesX = msgBody.substring(msgBody.indexOf("=")+1);
String coordenatesY = msgBody.substring(msgBody.indexOf(",")+1);
//Toast.makeText(context, "Coordenadas"+coordenates, Toast.LENGTH_SHORT).show();
Bundle extras = intent.getExtras();
Intent intent1 = new Intent("broadCastName");
// Data you need to pass to activity
intent1.putExtra("coordx",coordenatesX);
intent1.putExtra("coordy",coordenatesY);
context.sendBroadcast(intent1);
}
} catch (Exception e) {
e.printStackTrace();
}
Я хочу показать это в текстовом представлении:
"Sometext SometextLBS: http://www.somewebsite.com/Page.aspx?n=4.78900,-24.03711 ,bat:69%" I am getting "-24.03711 ,bat:69%"