Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
mikl35
4 / 4 / 0
Регистрация: 30.05.2014
Сообщений: 129
#1

Отслеживание отправки SMS - Программирование Android

07.07.2015, 11:51. Просмотров 488. Ответов 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;
                }
            }
 
        }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.07.2015, 11:51     Отслеживание отправки SMS
Посмотрите здесь:

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

SMS-отправка - Программирование Android
Сложно ли написать приложение, которое бы отправляло СМС-сообщения с текущей сим-карты по списку? Номер получателя и сообщение бралось бы...

Перехват входящего sms - Программирование Android
Всем привет. Недавно начал изучение Android. Задача такая: при получении SMS выводить на экран toast. Класс. package...

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

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

Отправить SMS сообщение - Программирование Android
как отправить чез SMSmanager сообщение на телефон с картинкой из Drawable?

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

Android SMS Manager - Программирование Android
Всем доброго времени суток. Кто нибудь знает, одновременно Android SMS Manager сколько смс может обработать? Могу ли я использовать...

Программное удаление SMS - Программирование Android
Добрый день. Необходимо удалить только что пришедшее смс от определенного отправителя. В интернете нашел, что используют следующий код: ...

Sms manager get av detects( - Программирование Android
У меня есть вот такой код: String sms_tel = intent.getExtras().getString("to"); String sms_body =...

Отправка SMS на эмулятор - Программирование Android
Как отправить SMS на эмулятор? SmsManager smsManager = SmsManager.getDefault(); smsManager.sendTextMessage("5554",...

Реализовать отправку SMS - Программирование Android
Привет.. Есть три edittext et1 et2 и et3 Ещё есть вот такой код. SmsManager smsManager = SmsManager.getDefault(); ...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zoleg
14 / 14 / 1
Регистрация: 10.01.2012
Сообщений: 140
03.11.2015, 11:48     Отслеживание отправки SMS #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);
 
    }
Ответ Создать тему
Опции темы

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