2012-04-05 6 views
0

Ich möchte SMS senden und empfangen von unserer App und senden erhalten erfolgreich, aber erhalten zeigt in der SmsMessage Klasse meines Codes, die von meinen Websites im Web demonstriert wird. Also, ich möchte eine Empfangsmethode für den Empfang von SMS, die nicht veraltet ist. Bitte schlagen Sie mir die richtige Lösung vor.Wie erhalten Sie SMS von unserer Android App?

Empfangen Code:

import android.content.BroadcastReceiver; 
import android.content.Context; 
import android.content.Intent; 
import android.os.Bundle; 
import android.telephony.gsm.SmsMessage; 
import android.widget.Toast; 

public class SmsReceiver extends BroadcastReceiver 
{ 

    @Override 
    public void onReceive(Context context, Intent intent) 
    { 
     //---get the SMS message passed in--- 
     Bundle bundle = intent.getExtras();   
     SmsMessage[] msgs = null; 
     String str = "";    
     if (bundle != null) 
     { 
      //---retrieve the SMS message received--- 
      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]);     
       str += "SMS from " + msgs[i].getOriginatingAddress();      
       str += " :"; 
       str += msgs[i].getMessageBody().toString(); 
       str += "\n";   
      } 
      //---display the new SMS message--- 
      Toast.makeText(context, str, Toast.LENGTH_SHORT).show(); 
     }       
    } 
} 
+0

ich etwas ähnliches hier tue !!! http://StackOverflow.com/Questions/14452808/Sending-and-Receiving-mms-in-android – toobsco42

Antwort

3

import android.telephony.gsm.SmsMessage;

Die oben sollte geändert werden:

import android.telephony.SmsMessage;

+0

Und FYI, die "Telefonie.gsm.SmsMessage" war für, wenn Sie zwischen CDMA und GSM-Telefonen angeben mussten. Jetzt müssen Sie nicht mehr '.gsm' oder' .cdma' angeben, da Android intelligenter wird. – Jakar

Verwandte Themen