タイトルはあまり具体的ではないので、ここで詳細を説明します。運転中に着信テキストにメッセージを自動返信するアプリを作成しようとしています。このアプリは、このコミュニティのおかげですでに 100% 機能していますが、これを拡張したいと考えています。私の目標は、送信者の番号を取得することです(私はすでにこれを持っています)が、同じ人に2回(またはそれ以上)続けて自動返信するように、何らかの方法で個別に保存します。
public class Receiver extends BroadcastReceiver {
public static String number = "";
public static String sms = "";
@Override
public void onReceive(Context context, Intent intent) {
Bundle bundle = intent.getExtras();
SmsMessage[] msgs;
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]);
number = msgs[i].getOriginatingAddress();
sms = msgs[i].getMessageBody();
}
if (Main.serviceBroadcast) {
String sent = "SMS_SENT";
PendingIntent pi = PendingIntent.getBroadcast(context, 0, new Intent(sent), 0);
SmsManager sm = SmsManager.getDefault();
if (Main.serviceReply && !number.equals("")) {
sm.sendTextMessage(number, null, Main.reply, pi, null);
Toast.makeText(context, "replied to " + number, Toast.LENGTH_SHORT).show();
}
}
}
}
}
このプログラムの完全なソースが必要な場合は、http://mellowdev.netにアクセスしてください。