さて、私はAndroidが初めてで、Javaが得意ではないことを覚えておいてください。
SMSのリストをチェックして、指定された文字で開始/終了するSMSメッセージをarrayListに追加するメソッドがあります。
public boolean checkForKey(Object[] smsList) {
//Go through sms list searching for key, add each that starts/ends with correct characters to an arrayList..
//do something productive
String str = "";
for(int i= 0; i < smsList.length; i++){
SmsMessage sms = SmsMessage.createFromPdu((byte[])smsList[i]);
String body = sms.getMessageBody().toString();
if(body.startsWith("-?-") || body.endsWith("-?!-")){
msgList.add(sms);
}
}
if(msgList == null){
return false;
}
return true;
}
したがって、基本的に私がやりたいことは、特定の送信者からのメッセージをペアにすることです。
David は次の 2 つのメッセージを送信します。
-?- blajaheiuhfahiufeihuhiuhfuheuaiifahhafhbehb
と
kahefkhafkehauiefhiuahfeiuhaiefhauiehiafhe -?!-
ですから、それらを 1 つの文字列にまとめたいと思います。
これを行う方法について何か考えはありますか?
さて、私の考えを更新し、
String address = sms.getOriginatingAddress();
if(body.startsWith("-?-")) { //|| body.endsWith("-?!-")){
str = body;
// msgList.add(sms);
}
if(body.endsWith("-?1-")) {
str += body;
}
str がメッセージの前半 (私の場合はキー) に等しいとします。今度は、-?!- で終わり、同じアドレス (送信者) を持つメッセージを見つけて、後半を追加したいと思います。私はこれをします?つまり、送信者が同じであることを確認しますか?