私はアプリケーションを開発していて、テキストの本文を処理する必要があります。私はそれを使おうとしますBroadcastReceiver
:
private static final Uri SMS_INBOX_URI = Uri.parse("content://sms/inbox");
@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
SharedPreferences prefs=PreferenceManager.getDefaultSharedPreferences(context);
Cursor sms = context.getContentResolver().query(SMS_INBOX_URI, null, null, null, null);
sms.moveToFirst();
String body=sms.getString(sms.getColumnIndex("body"));
String number=sms.getString(sms.getColumnIndex("address"));
String key=prefs.getString(context.getString(R.string.acc_key_key), "");
sms.close();
Log.e("body", body);
if (body.trim().equals("#"+key)) {
Log.e("sms", "sending");
sendGPSCoordinates(context, number);
} else if (body.trim().equals("?"+key)){
Log.e("request", "manual");
sendResponces(context);
}
}
ただし、このコードは、新しいSMSではなく、最後のSMSを返します。しかし、私は新しいSMSを受け取る必要があります。どうすればいいですか?