DevMedia - asp.net, Java, Delphi, SQL e web Design, tudo em um só lugar!
Bem vindo a DevMedia!
LOGIN:     SENHA:
 
 

Recebendo Mensagens: Android

Nesse artigo aprenderemos como identificar uma mensagem sms recebida por um celular que possui um sistema operacional Android.

Nesse artigo aprenderemos como identificar uma mensagem sms recebida por um celular que possui um sistema operacional Android.

Antes de começarmos a aplicação vamos falar sobre BroadcastReceiver.

Um BroadcastReceiver representada pela classe content.BroadcastReceiver, é uma classe que recebe eventos gerados por um Intent, sem a necessidade da utilização de uma interface gráfica. Esses eventos são mensagens enviadas pelo sistema operacional que pode ser desde um aviso que a bateria está baixa ou uma comunicação que uma mensagem sms foi recebida.

Para demonstrar o recebimento de mensagens sms, utilizaremos a aplicação do artigo enviando uma mensagem sms.

Para autorizar o recebimento de mensagems sms precisamos de autorização, que será informada dentro do arquivo AndroidManifest.xml e configurar um recebimento de um BroadcastReceiver, veja sua configuração abaixo.

<?xml version="1.0" encoding="utf-8"?>

<manifest xmlns:android="http://schemas.android.com/apk/res/android"

      package="br.com.EnviarSMS"

      android:versionCode="1"

      android:versionName="1.0">

    <application android:icon="@drawable/icon" android:label="@string/app_name">

        <activity android:name=".EnviarSMS"

                  android:label="@string/app_name">

            <intent-filter>

                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />

            </intent-filter>

        </activity>

 

    <receiver android:name=".ReceberSMS" android:enabled="true">

            <intent-filter>

                  <action android:name="android.provider.Telephony.SMS_RECEIVED" ></action>

            </intent-filter>

      </receiver>

 

   

 

    </application>

    <uses-sdk android:minSdkVersion="7" />

   

<uses-permission android:name="android.permission.READ_SMS"></uses-permission>

<uses-permission android:name="android.permission.SEND_SMS"></uses-permission>

<uses-permission android:name="android.permission.WRITE_SMS"></uses-permission>

</manifest>

Observe a tag receiver que informa qual classe recebera o evento, e qual tipo de intent filter, que no nosso caso é uma mensagem sms.Irmos agora inserir uma classe e herdar da classe BroadcastReceiver.



Veja a classe abaixo.

import android.app.PendingIntent;

import android.content.BroadcastReceiver;

import android.content.Context;

import android.content.Intent;

import android.os.Bundle;

import android.telephony.SmsManager;

import android.telephony.SmsMessage;

import android.widget.Toast;

 

public class ReceberSMS extends BroadcastReceiver{

 

      @Override

      public void onReceive(Context context, Intent intent) {

            // TODO Auto-generated method stub

            Bundle bundle = intent.getExtras();

           

                       

            Object messages[]= (Object[]) bundle.get("pdus");

           

            SmsMessage smsMessage[] = new SmsMessage[messages.length];

           

            for(int n=0 ; n < messages.length; n++)

            {

                  smsMessage[n] = SmsMessage.createFromPdu((byte[])messages[n]);

                  String celular = smsMessage[n].getDisplayOriginatingAddress();

                  String Mensagem = smsMessage[n].getDisplayMessageBody();

                 

                  Toast.makeText(context,"Celular: " + smsMessage[n].getDisplayOriginatingAddress() + "Mensagem: " + smsMessage[n].getDisplayMessageBody() , Toast.LENGTH_LONG).show();

                 

                       

            }    

      }

}


Nos próximos artigos veremos como identificar uma ligação que recebemos.

Espero que tenham gostado e até a próxima.





    0 COMENTÁRIO

[Fechar]

Este post é fechado - você precisa ter acesso ao post para incluir um comentário.


Nenhum comentário foi postado - seja o primeiro a comentar!



[Este post ainda não foi associado a uma sequência]
Publicidade
Autor
Fernando Rodrigues Da Silva

Formado em Sistemas de Informação e pós graduado em Engenharia de Software pela FIT. Trabalha com a plataforma .NET há 6 anos, atualmente trabalha na FCamara.


Space do autor
Estatísticas
Favorito:
Comentários:
Feedback:
Utilidade:
0   0
[Fechar]

Você precisa estar logado para dar um feedback.

Clique aqui para efetuar o login
[Fechar]


Este post está fechado. Saiba mais sobre a assinatura MVP!
web-03
DevMedia  |  Anuncie  |  Fale conosco
Hospedagem web por Porta 80 Web Hosting
2012 - Todos os Direitos Reservados a web-03