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

Вывод смс в textView - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Чтение и запись внешних файлов http://www.cyberforum.ru/android-dev/thread1778495.html
Добрый вечер! Интересует вопрос, как реализовать в приложении через Android studio чтение и запись текстовых файлов, которые находятся не в каталоге приложения.
Программирование Android Запретить смену ориентации экрана пока идет загрузка У меня есть такой код, где активити создается из двух фрагментов и потом запускает поток в котором идет сетевой запрос. В ответ приходит JSON я выделяю информацию и загружаю ее в TextView во фрагменты и в фон картинку(через Handler), но проблема в том, что если пользователь повернет экран а картинка еще не загрузилась - сетевой запрос не отработал то приложение падает с 07-09 20:12:58.256... http://www.cyberforum.ru/android-dev/thread1778425.html
Программирование Android Нужно ли пользоваться префиксами m и s для именования переменных или это устарело?
Добрый вечер всем, подскажите пожалуйста, используете ли вы префиксы m и s для переменных/полей класса? Дело в том что у андроида написано что надо : Follow Field Naming Conventions Non-public, non-static field names start with m. Static field names start with s. Other fields start with a lower case letter. Public static final fields (constants) are...
Как подключиться с базе данных FireBird из Android Программирование Android
Всем привет, ребят кто нить сталкивался с такой задачей?. Смысл в том, что есть база данных Firebird .FBD, необходимо написать приложение под Android которое буде подключатся к данной базе и считывать информацию, вопрос - как подключиться с данной базе. Может кто то уже сделал сие чудо). В гугле ничего толкового не нашел. Может кто знает, заранее спасибо.
Программирование Android Как определить на какой номер звонят если в телефоне 2 сим карты? http://www.cyberforum.ru/android-dev/thread1778355.html
Добрый день. Подскажите, пожалуйста, есть ли возможность в бродкаст ресивере отлавливать номер телефона, на который звонят при условии, что в телефоне две симки? То есть узнать на какую из симок поступил звонок.
Программирование Android Не получается открыть диалоговое окно, созданное в отдельном классе Всем привет! Учусь программировать под андроид, еще почти ничего не понимаю. Пробую урок отсюда. Пытаюсь вызвать диалоговое окно по нажатию кнопки "домой". Закомментированный диалог "покормите кота" успешно работает. А вот диалог, созданный в классе не открывается. Просто затемняется экран и всё. Из примера урока я попытался убрать всё "лишнее", может чего нужное зацепил? Заметил, что в... подробнее

Показать сообщение отдельно
OlegJV
102 / 102 / 29
Регистрация: 13.03.2016
Сообщений: 472
22.07.2016, 09:04
Я вот стесняюсь спросить, а что там насчет логов?

Добавлено через 7 минут
Должно было получиться так:

Кликните здесь для просмотра всего текста
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
public class SmsReceiver extends BroadcastReceiver {
 
    private static final String ACTION  = "android.provider.Telephony.SMS_RECEIVED";
 
    @Override
    public void onReceive(Context context, Intent intent) {
        Log.e("TAG", "сработал onReceive");
 
        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();
            StringBuilder bodyText = new StringBuilder();
            for (int i = 0; i < messages.length; i++) {
                bodyText.append(messages[i].getMessageBody());
            }
            String body = bodyText.toString();
 
            Log.e("TAG", "получили СМС от " + sms_from + " : " + body);
            
            Pattern pattern = Pattern.compile("\\d+");
            String result = "";
            Matcher matcher = pattern.matcher(body);
            int start = 0;
            while (matcher.find(start)) {
                result = body.substring(matcher.start(), matcher.end());
                start = matcher.end();
            }
            
            Log.e("TAG", "получили цифры " + result);
 
            Intent activityIntent = new Intent(context, MainActivity.class);
            activityIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            activityIntent.putExtra("from", sms_from);
            activityIntent.putExtra("body", result);
            context.startActivity(activityIntent);
        }
    }
}


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