2012-03-05 27 views
-2

私はアンドロイドアプリケーションのSMSの小さな問題に直面しています。私はあなたにメッセージを送信している受取人のアドレスを受け取るために、あなたからの助けが必要です。SMSのアンドロイド受信機能

サンプルコードを以下に示します。 uはuが列Mobno =のMSGを使用して得ているものエラー

public void oncall() { 
     // public void onReceive(Context context, Intent intent) { 
     // ---get the SMS message passed in--- 
     Bundle bundle = new Bundle(); // intent.getExtras(); 

     SmsMessage[] msgs; 
     // 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]); 
       String Mobno = msgs[i].getOriginatingAddress(); 
       // String message = msgs[i].getMessageBody().toString(); 
       output.setText("" + Mobno); 
      } 
      // ---display the new SMS message--- 
      // Toast.makeText(context, str, Toast.LENGTH_SHORT).show(); 
     } 
    } 
+0

[I] .getOriginatingAddress()。あなたは携帯電話番号 – user1203673

+1

のエラーの説明はありません... -1。 – JoxTraex

+0

私はここに似たようなことをしています! http://stackoverflow.com/questions/14452808/sending-and-receiving-mms-in-android – toobsco42

答えて

1
 Bundle bundle = intent.getExtras(); 
    if (bundle != null) 
{ 
    Object[] pdus = (Object[]) bundle.get("pdus"); 
    for (Object pdu : pdus) 
{ 
    SmsMessage smsMessage = SmsMessage.createFromPdu((byte[]) pdu); 

if(smsMessage.getOriginatingAddress() != null) 
{ 
String num = smsMessage.getOriginatingAddress(); 

} 
} 
} 
+0

私は私の質問で間違っていました。私はそれをお詫び申し上げます。私は1つのアクティビティで2つの関数を作成しているのか疑問です。 1つの関数はsend()で、もう1つはreceive()メッセージです。私はメッセージを送った人に携帯番号を取得する必要があります。 – user1239393

+0

上記のコードは、BroadcastReceiverを拡張するSmsReceiverクラスのonReceiveメソッドで実装しています –

関連する問題