Bom dia pessoal,
preciso pega duas informações que sao recebidas através do sms, Latitude e longitude e com esses dados eu colocar no maps teria como ?
Bom dia pessoal,
preciso pega duas informações que sao recebidas através do sms, Latitude e longitude e com esses dados eu colocar no maps teria como ?
Ola,
Para pegar o sms voce precisa criar um BroadCastReceiver.
primero voce precisa configurar no manifest as permissoes de sms e configurar o receiver para que o aplicativo receba copias dos sms recebidos:
acima da tag application
<uses-permission android:name="android.permission.RECIVE_SMS"/>
e dentro da tag application
<receiver android:name=".receiver.SMSReceiver">
<intent-filter>
<action android:name="android.provider.Telephony.SMS_RECEIVED"/>
</intent-filter>
</receiver>
Apos configurar o manifest criar a classe que recebe o sms
public class SMSReciver extends BroadCastReceiver{
@Override
onReceive(Context context, Intent intent){
Object[] pdus = (Object[]) intent.getSerializableExtra("pdus");
String formato = (String) intent.getSerializableExtra("format")
SmsMesage sms = SmsMessage.createFromPdu((byte[]) pdus[0],formato);
}
}
cada posição da array pdus representa um sms, sendo necessario um for para verificar todos, com essa classe mesmo o aplicativo estando em segundo plano o comportamento dentro do metodo onReceive sera executado sempre que chegar um sms.
Obtendo o objeto sms basta tratar conforme desejado: https://developer.android.com/reference/android/telephony/SmsMessage.html
Para iniciar o mapa:
Intent intentMapa = new Intent(ACTION.VIEW);
intentMapa.setData("geo:0,0");//latitude,longitude
startActivity(intentMapa);
Vlw conseguir!!!