Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
mikl35
5 / 5 / 0
Регистрация: 30.05.2014
Сообщений: 135
1

Отслеживание отправки SMS

07.07.2015, 11:51. Просмотров 677. Ответов 1
Метки нет (Все метки)

Здравствуйте, не могу понять все сделал по описанию программного кода, но почему то не уведомляет о доставке, весь программный код не в главной активити, а в другой.
Переменные которые я использую:
Java
1
2
3
4
5
private final static String SENT = "SENT_SMS_ACTION", DELIVERED = "DELIVERED_SMS_ACTION", ISNULL = "Entered, not all data";
SendSms sendSms;
DeliverySms deliverySms;
PendingIntent sentPI;
PendingIntent delivertPI;
Инициализация переменных при открытии активности:
Java
1
2
3
4
5
6
sendSms = new SendSms();
deliverySms = new DeliverySms();
registerReceiver(sendSms, new IntentFilter(SENT));
registerReceiver(deliverySms, new IntentFilter(DELIVERED));
PendingIntent sentPI = PendingIntent.getBroadcast(this, 0, new Intent(SENT), 0);
PendingIntent delivertPI = PendingIntent.getBroadcast(this, 0, new Intent(DELIVERED), 0);
Отправка SMS:
Java
1
2
SmsManager smsManager = SmsManager.getDefault();
smsManager.sendTextMessage(n1, n2, text, sentPI, delivertPI);
Приемник по определению отправки SMS:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
        
    public class SendSms extends BroadcastReceiver {
 
        private final static String MY_TAG = "MyTag";
 
        public void onReceive(Context context, Intent intent) {
            switch (getResultCode()) {
                case Activity.RESULT_OK:
                    Log.i(MY_TAG, "SMS send");
                    break;
                case SmsManager.RESULT_ERROR_GENERIC_FAILURE:
                    Log.i(MY_TAG, "unknown problems");
                    break;
                case SmsManager.RESULT_ERROR_RADIO_OFF:
                    Log.i(MY_TAG, "modul is down");
                    break;
                case SmsManager.RESULT_ERROR_NULL_PDU:
                    Log.i(MY_TAG, "PDU error");
                    break;
            }
        }
    }
Приемник по определению доставки SMS:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
        public class DeliverySms extends BroadcastReceiver {
 
            private final static String MY_TAG = "MyTag";
 
            public void onReceive(Context context, Intent intent) {
                switch(getResultCode()) {
                    case Activity.RESULT_OK:
                        Log.i(MY_TAG, "SMS delivered");
                        break;
                    case Activity.RESULT_CANCELED:
                        Log.i(MY_TAG, "SMS not delivered");
                        break;
                }
            }
 
        }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.07.2015, 11:51
Ответы с готовыми решениями:

Отслеживание количества символов, и сортировка для отправки SMS
Здравствуйте! В общем нужно мне сделать так чтобы программа умела отслеживать...

SMS-отправка
Сложно ли написать приложение, которое бы отправляло СМС-сообщения с текущей...

Android SMS Manager
Всем доброго времени суток. Кто нибудь знает, одновременно Android SMS Manager...

Android + GPS + SMS + PC
Всем привет, друзья, подскажите, Я никогда прежде не сталкивался особо с...

ContentObserver, информация об SMS
Пытаюсь прочитать отправленные sms сообщения. Но получается, что телефон делает...

1
zoleg
33 / 33 / 5
Регистрация: 10.01.2012
Сообщений: 322
03.11.2015, 11:48 2
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
  private void sendSMS(String phoneNumber, String message) {
 
        Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("sms:" + phoneNumber));
        intent.putExtra("sms_body", message);
        startActivity(intent);
 
        Intent sendIntent=new Intent(Intent.ACTION_VIEW);
        sendIntent.putExtra("sms_body","Content of the SMS goes here...");
        sendIntent.setType("vnd.android-dir/mms-sms");
        startActivity(sendIntent);
 
 
        String SENT="SMS_SENT";
        String DELIVERED="SMS_DELIVERED";
 
        PendingIntent sentPI= PendingIntent.getBroadcast(this, 0,
                new Intent(SENT), 0);
 
        PendingIntent deliveredPI= PendingIntent.getBroadcast(this, 0,
                new Intent(DELIVERED), 0);
 
 
//---когда SMS отправлено---
        registerReceiver(new BroadcastReceiver(){
            @Override
            public void onReceive(Context arg0, Intent arg1){
                switch(getResultCode())
                {
                    case Activity.RESULT_OK:
                        Toast.makeText(getBaseContext(), "SMS 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_NO_SERVICE:
                        Toast.makeText(getBaseContext(),"No service",
                                Toast.LENGTH_SHORT).show();
                        break;
                    case SmsManager.RESULT_ERROR_NULL_PDU:
                        Toast.makeText(getBaseContext(),"Null PDU",
                                Toast.LENGTH_SHORT).show();
                        break;
                    case SmsManager.RESULT_ERROR_RADIO_OFF:
                        Toast.makeText(getBaseContext(),"Radio off",
                                Toast.LENGTH_SHORT).show();
                        break;
                }
            }
        },new IntentFilter(SENT));
 
//---когда SMS доставлено---
        registerReceiver(new BroadcastReceiver() {
            @Override
            public void onReceive(Context arg0, Intent arg1) {
                switch (getResultCode()) {
                    case Activity.RESULT_OK:
                        Toast.makeText(getBaseContext(), "SMS delivered",
                                Toast.LENGTH_SHORT).show();
                        break;
                    case Activity.RESULT_CANCELED:
                        Toast.makeText(getBaseContext(), "SMS not delivered",
                                Toast.LENGTH_SHORT).show();
                        break;
                }
            }
        }, new IntentFilter(DELIVERED));
 
        SmsManager sms= SmsManager.getDefault();
        sms.sendTextMessage(phoneNumber, null, message, sentPI, deliveredPI);
 
    }
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.11.2015, 11:48

Программное удаление SMS
Добрый день. Необходимо удалить только что пришедшее смс от определенного...

Реализовать отправку SMS
Привет.. Есть три edittext et1 et2 и et3 Ещё есть вот такой код. ...

Получить текст из SMS
Здравствуйте, столкнулся с такой проблемой: надо получить текст смс, которое...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru