Я разрабатываю одно приложение, которое принимает sms из Inbox, я получаю sms успешно, но мое требование получает только новое (последнее) сообщение, я не хочу читать все сообщения из папки «Входящие», пожалуйста помочь мнеТолько последние смс в android
мой код
public class MainActivity extends Activity {
TextView showText;
StringBuilder sb = new StringBuilder();
ArrayAdapter<String> adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
showText = (TextView)findViewById(R.id.text);
String message = getMessagess();
showText.setText(message);
}
public String getMessagess(){
Cursor cursor=null;
Uri smsuri = Uri.parse("content://sms/inbox");
try{
cursor =getContentResolver().query(smsuri, null, null, null, null);
if (cursor == null) {
// Log.i(TAG, "cursor is null. uri: " + mSmsQueryUri);
}
for(boolean
hashdata=cursor.moveToFirst();hashdata;hashdata=cursor.moveToNext()){
final String body =
cursor.getString(cursor.getColumnIndexOrThrow("body")).toString();
final String senderNo=
cursor.getString(cursor.getColumnIndexOrThrow("address")).toString();
final String date =
cursor.getString(cursor.getColumnIndexOrThrow("date"));
final String type =
cursor.getString(cursor.getColumnIndexOrThrow("type"));
if(senderNo.equals("+XXXXXXXXXX")){
for(String bd:body.split(";"))
sb.append(bd);
sb.append("\n");
}
}
if(sb==null){
sb.append("no message found");
}
}
catch(Exception e){
e.printStackTrace();
}
finally{
cursor.close();
}
return sb.toString();
}
}
вы хотите недавний SMS с почтового ящика или новое SMS прибыл в почтовый ящик.? – SilentKiller
Я хочу, чтобы новое сообщение прибыло во входящие, – Durga
Для этого вам нужно создать BroadCastReceiver. – SilentKiller