我一直在开发应用程序,我需要处理文本正文。我尝试使用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);
}
}
但此代码返回最后一条短信,而不是一条新短信。但我需要接收新的短信。我该怎么做?