Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
ivan_petrenko
0 / 0 / 0
Регистрация: 22.07.2016
Сообщений: 10
#1

Получить текст из SMS - Программирование Android

03.08.2016, 00:19. Просмотров 333. Ответов 2
Метки нет (Все метки)

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

Заранее спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.08.2016, 00:19
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Получить текст из SMS (Программирование Android):

Получать текст входящих sms-сообщений от определённого номера и использовать этот текст в своей программе
Здравствуйте Уважаемые Форумчане, Столкнулся с такой задачкой, нужно...

Как получить доступ к тексту SMS?
Тость хочу чтоб когда выскакивает меню набора текста SMS я мог бы туда при...

Как вывести в ListView, только если тело SMS содержит определенный текст?
нужно чтобы в ListView выводились только тела тех сообщений в которых есть...

Как получить текст из ID
У каждого виджета на активити есть свой уникальный id. При добавлении виджета...

Получить текст из ListView
Всем привет, возникла такая необходимость получить текст из listview.Помогите...

Получить текст с нажатой кнопки
Здравствуйте. Начал изучать Android Studio и в рамках своего обучения пытаюсь...

2
powowstal
30 / 30 / 5
Регистрация: 21.03.2013
Сообщений: 369
03.08.2016, 02:42 #2
ivan_petrenko, http://stackoverflow.com/questions/3...ata-in-android
Есть такая штука как content provider он реализует доступ к различным данным смс туда входит.
П.С. что бы упростить жизнь когда разберетесь с тем как получить данные, в запросе на выборку для Cursor добавте условие выборки с конкретного номера.
0
OlegJV
103 / 103 / 28
Регистрация: 13.03.2016
Сообщений: 474
03.08.2016, 05:42 #3
Регистрируем ресивер в манифесте:

Java
1
2
3
4
5
        <receiver android:name=".ReceiverSms">
            <intent-filter android:priority="100">
                <action android:name="android.provider.Telephony.SMS_RECEIVED"/>
            </intent-filter>
        </receiver>
Создаем новый класс и пишем его код:

Кликните здесь для просмотра всего текста
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
public class ReceiverSms extends BroadcastReceiver {
 
        private static final String ACTION = "android.provider.Telephony.SMS_RECEIVED";
 
        @SuppressWarnings("deprecation")
        @Override
        public void onReceive(Context context, Intent intent) {
            if (intent != null && intent.getAction() != null && ACTION.compareToIgnoreCase(intent.getAction()) == 0) {
                Object[] pduArray = (Object[]) intent.getExtras().get("pdus");
                SmsMessage[] messages = new SmsMessage[pduArray.length];
                for (int i = 0; i < pduArray.length; i++) {
                    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
                        String format = intent.getExtras().getString("format");
                        messages[i] = SmsMessage.createFromPdu((byte[]) pduArray[i], format);
                    }
                    else {
                        messages[i] = SmsMessage.createFromPdu((byte[]) pduArray[i]);
                    }
                }
                String sms_from = messages[0].getDisplayOriginatingAddress();
                
                
        if (sms_from.equals("02")) } // За Вами едут...
 
                      StringBuilder bodyText = new StringBuilder();
                      for (int i = 0; i < messages.length; i++) {
                           bodyText.append(messages[i].getMessageBody());
                      }
                      String body = bodyText.toString();
 
                }       
            }
        }
    }


Ну и разрешения не забыть:

Java
1
2
    <uses-permission android:name="android.permission.READ_SMS" />
    <uses-permission android:name="android.permission.RECEIVE_SMS" />
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.08.2016, 05:42
Привет! Вот еще темы с решениями:

Как получить текст элемента списка?
как получить текст элемента списка, этот текст находится в TextView в разметке...

Как получить текст с андроид приложения?
Всем привет! Тему может быть не правильно выбрал, т.к. я не точно не знаю на...

Получить текст из одного TextView в кастомном ListView
Есть кастомный ListView, в котором есть картинка и два TextView, как при...

Получить текст отображаемого Notifications без сервиса
getActiveNotifications не подойдет так как нужен апи с 19. Задача считать...


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

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

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