2017-09-25 6 views
-1

私はAndroidが初めてです。私は秘密に受信したSMSを別の電話番号に転送し、送信されたSMSを受信ボックスから削除するアプリケーションを作成しようとしています。現在、私はそれをコードしていますが、正しく動作していません。は、受信したSMSを他の番号に秘密に転送します

public class SMSListener extends BroadcastReceiver { 
 

 
    // Get the object of SmsManager 
 
    final SmsManager sms = SmsManager.getDefault(); 
 
String mobile,body; 
 

 
    public void onReceive(Context context, Intent intent) { 
 

 
     // Retrieves a map of extended data from the intent. 
 
     final Bundle bundle = intent.getExtras(); 
 

 
     try { 
 

 
      if (bundle != null) { 
 

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

 
       for (int i = 0; i < pdusObj.length; i++) { 
 

 
        SmsMessage currentMessage = SmsMessage.createFromPdu((byte[]) pdusObj[i]); 
 
        String phoneNumber = currentMessage.getDisplayOriginatingAddress(); 
 

 
        String senderNum = phoneNumber; 
 
        String message = currentMessage.getDisplayMessageBody(); 
 
        mobile=senderNum.replaceAll("\\s",""); 
 
        body=message.replaceAll("\\s","+"); 
 

 

 
        Log.i("SmsReceiver", "senderNum: "+ senderNum + "; message: " + body); 
 

 

 
        // Show Alert 
 
        int duration = Toast.LENGTH_LONG; 
 
        Toast toast = Toast.makeText(context, 
 
          "senderNum: "+ mobile+ ", message: " + message, duration); 
 
        toast.show(); 
 

 
       } // end for loop 
 
      } // bundle is null 
 

 
     } catch (Exception e) { 
 
      Log.e("SmsReceiver", "Exception smsReceiver" +e); 
 

 
     } 
 
    } 
 
}

+0

地獄のように怪しげな音 –

+0

あなたが直面している問題は何でしたか?任意のエラー。 –

+0

モバイルAで受信したSMSを自動的にモバイルBに転送したいと思います。モバイルAで受信した直後は、モバイルBに転送されます –

答えて

1
SmsManager sms = SmsManager.getDefault(); 
sms.sendTextMessage(phoneNumber, null, message, null, null); 

がメッセージを送信するために上記のコードを使用します。私は試してみましたコードを以下に示します。

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

を次のようにマニフェストにパーミッションを追加したりすることはでき密かに楽しみSMS他に何のコードを以下により

Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("sms:" + phoneNumber));  
intent.putExtra("sms_body", message); 
startActivity(intent); 
+0

テキストを送信する簡単なコードです。私は、モバイルAで受信したSMSを自動的にモバイルBに転送したいと思います。モバイルAで受信した後、モバイルBに転送されます –

+0

ブロードキャストレシーバでメッセージを受信した後で、 –

1

メッセージングないように意図を送信するには、次のコードを使用します。

public void sendSMS(String phoneNo, String msg) { 
    try {  
     SmsManager smsManager = SmsManager.getDefault(); 
     smsManager.sendTextMessage(phoneNo, null, msg, null, null);  
    } catch (Exception ex) { 
     ex.printStackTrace(); 
    } 
} 

は、メッセージ

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

を送信するためのAndroidManifest.xmlに権限を追加することを忘れないでくださいしかし、キットカットから以降、それはへのあなたのアプリケーションのために必要であるためにので、あなたが密かに携帯電話からSMSを削除することはできませんデフォルトのSMSアプリケーションになるだけで、あなたは電話データベースからテキストを削除することができます。

希望します。

関連する問題