Доступ к входящим сообщениям из приложения Android - PullRequest
2 голосов
/ 03 марта 2012

Мне нужна помощь в приложении Android смс. Я отправляю сообщение из моего приложения для Android на номер мобильного телефона. Мне нужно проверить, было ли доставлено сообщение в INBOX этого номера мобильного телефона из моего приложения. Мне нужно проверить, чтобы сообщение, отправленное на номер мобильного телефона, было доставлено. То есть. Desitnation соответствует. Как получить доступ к сообщению INBOX из приложения Android. Пожалуйста, направьте меня в этом вопросе. Будет очень полезно, если кто-нибудь поможет мне с примером рабочего примера.

Заранее спасибо.

Ответы [ 3 ]

1 голос
/ 03 марта 2012

Как получить доступ к INBOX Messagr из приложения для Android, ответ ниже,

Uri uri = Uri.parse("content://sms/inbox");
Cursor cursor = context.getContentResolver().query(uri, null, null, null, null);
while (cursor.moveToNext()) 
{
  // Retrieve sms
  // see column "address" for comparing

  // Then update the sms and set the column "read" to 1
}
0 голосов
/ 03 марта 2012

попробуйте следующим образом

В файле AndroidManifest.xml добавьте следующие разрешения:

(android.permission.RECEIVE_SMS)

(android.permission.SEND_SMS)


// Demo source code to sends an SMS and notify status

private void send(String number,  String message)
{        

// notify when the SMS has been sent
registerReceiver(new BroadcastReceiver(){
    @Override
    public void onReceive(Context arg0, Intent arg1) {

        switch (getResultCode())
        {
            case Activity.RESULT_OK:
                Toast.makeText(getBaseContext(), "Sent!", 
                        Toast.LENGTH_SHORT).show();
                break;
            case SmsManager.RESULT_ERROR_GENERIC_FAILURE:
                Toast.makeText(getBaseContext(), "GENERIC_FAILURE!", 
                        Toast.LENGTH_SHORT).show();
                break;
            case SmsManager.RESULT_ERROR_RADIO_OFF:
                Toast.makeText(getBaseContext(), "RADIO_OFF!", 
                        Toast.LENGTH_SHORT).show();
                break;
            case SmsManager.RESULT_ERROR_NULL_PDU:
                Toast.makeText(getBaseContext(), "ERROR_NULL_PDU!", 
                        Toast.LENGTH_SHORT).show();
                break;
            case SmsManager.RESULT_ERROR_NO_SERVICE:
                Toast.makeText(getBaseContext(), "ERROR_NO_SERVICE!", 
                        Toast.LENGTH_SHORT).show();
                break;
        }
    }
}, new IntentFilter("SMS_SENT"));

// notify when the SMS has been delivered

registerReceiver(new BroadcastReceiver(){
    @Override
    public void onReceive(Context arg1, Intent arg2) {
        switch (getResultCode())
        {
            case Activity.RESULT_CANCELED:
                Toast.makeText(getBaseContext(), "Not delivered", 
                        Toast.LENGTH_SHORT).show();
                break; 
            case Activity.RESULT_OK:
                Toast.makeText(getBaseContext(), "Delivered", 
                        Toast.LENGTH_SHORT).show();
                break;                       
        }
    }
}, new IntentFilter("SMS_DELIVERED"));        



PendingIntent sentPendingIntent = PendingIntent.getBroadcast(this, 0,
    new Intent("SMS_SENT"), 0);

PendingIntent deliveredPendingIntent = PendingIntent.getBroadcast(this, 0,
    new Intent("SMS_DELIVERED"), 0);

SmsManager smsManager = SmsManager.getDefault();

smsManager.sendTextMessage(number, null, message, sentPendingIntent,     deliveredPendingIntent);        
}
0 голосов
/ 03 марта 2012

попробуйте

 public static final Uri SMS_INBOX_CONTENT_URI = Uri.parse("content://sms/inbox");

 Cursor cursor = managedQuery(SMS_INBOX_CONTENT_URI, new String[]{TextSmsColumns.ID, TextSmsColumns.ADDRESS,
            TextSmsColumns.DATE, TextSmsColumns.BODY}, null, null, TextSmsColumns.DATE + " DESC");

    cursor.moveToFirst();
    StringBuilder builder = new StringBuilder();
    for(int i = 0 ; i < cursor.getCount(); i++)
    {
        builder.append("         ID-"+i);
        String s= "  Address:  "+cursor.getString(cursor.getColumnIndexOrThrow(TextSmsColumns.ADDRESS))
        + "  Body:  "+cursor.getString(cursor.getColumnIndexOrThrow(TextSmsColumns.BODY))
        + "  Date:  "+cursor.getString(cursor.getColumnIndexOrThrow(TextSmsColumns.DATE));
        builder.append(s);
        cursor.moveToNext();
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...