そのため、SMS を使用して 2 つのデバイス間でデータを送信するアプリを作成し、一方が他方に自動的に応答するようにしようとしています。しかし、getMessageBody() が返す文字列は、ログ出力 "(test)" が条件に一致しているように見えても、自動メッセージを送信する if ステートメントの設定ではありません。空白をチェックするために、ログ メッセージの文字列の両側にテキストを追加しました。前もって感謝します。
受信するメッセージを送信するコード。
SendSMS(inputNum.getText().toString(),"test");
受信者コード
public void onReceive(Context context, Intent intent)
{
Bundle bundle = intent.getExtras();
SmsMessage[] msgs = null;
if(bundle != null)
{
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]);
originNumber = msgs[i].getOriginatingAddress();
messages = msgs[i].getMessageBody();
Log.e("Received Text", messages);
}
if(messages == "test")
SendSMS(originNumber, "auto send");
else
Log.e("else Text", "("+messages+")");
}