Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Чтение и запись внешних файлов http://www.cyberforum.ru/android-dev/thread1778495.html
Добрый вечер! Интересует вопрос, как реализовать в приложении через Android studio чтение и запись текстовых файлов, которые находятся не в каталоге приложения.
Программирование Android Запретить смену ориентации экрана пока идет загрузка У меня есть такой код, где активити создается из двух фрагментов и потом запускает поток в котором идет сетевой запрос. В ответ приходит JSON я выделяю информацию и загружаю ее в TextView во... http://www.cyberforum.ru/android-dev/thread1778425.html
Программирование Android Нужно ли пользоваться префиксами m и s для именования переменных или это устарело?
Добрый вечер всем, подскажите пожалуйста, используете ли вы префиксы m и s для переменных/полей класса? Дело в том что у андроида написано что надо : Follow Field Naming Conventions ...
Как подключиться с базе данных FireBird из Android Программирование Android
Всем привет, ребят кто нить сталкивался с такой задачей?. Смысл в том, что есть база данных Firebird .FBD, необходимо написать приложение под Android которое буде подключатся к данной базе и...
Программирование Android Как определить на какой номер звонят если в телефоне 2 сим карты? http://www.cyberforum.ru/android-dev/thread1778355.html
Добрый день. Подскажите, пожалуйста, есть ли возможность в бродкаст ресивере отлавливать номер телефона, на который звонят при условии, что в телефоне две симки? То есть узнать на какую из симок...
Программирование Android Не получается открыть диалоговое окно, созданное в отдельном классе Всем привет! Учусь программировать под андроид, еще почти ничего не понимаю. Пробую урок отсюда. Пытаюсь вызвать диалоговое окно по нажатию кнопки "домой". Закомментированный диалог "покормите... подробнее

Показать сообщение отдельно
OlegJV
103 / 103 / 28
Регистрация: 13.03.2016
Сообщений: 474
19.07.2016, 21:55
Ты, видимо, партизан. Каждый ответ выпытывать надо. onReceive срабатывает?

Добавлено через 4 минуты
Забегая вперёд - насчёт активити. У тебя там объявлен intent. По умолчанию он null. Какой текст ты надеешься из него получить?

Добавлено через 46 минут
А в ответ тишина. Ну ладно. Вот разрешения в манифесте:

Java
1
2
    <uses-permission android:name="android.permission.READ_SMS" />
    <uses-permission android:name="android.permission.RECEIVE_SMS" />
Вот ресивер в манифесте:

Java
1
2
3
4
5
        <receiver android:name=".SmsReceiver">
            <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
35
36
37
38
39
40
41
42
43
44
45
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.os.Build;
import android.telephony.SmsMessage;
import android.util.Log;
 
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);
 
            Intent activityIntent = new Intent(context, MainActivity.class);
            activityIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            activityIntent.putExtra("from", sms_from);
            activityIntent.putExtra("body", body);
            context.startActivity(activityIntent);
        }
    }
}


Вот код в активити:

Java
1
2
3
4
5
6
7
8
9
10
@Override
protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
 
        Intent intent = getIntent();
        String message = intent.getStringExtra("body");
        Log.e("TAG", "get sms " + message);
 
}
Все прекрасно работает. Ты на тот номер хоть СМС отправляешь?

Добавлено через 2 минуты
Специально пошел на работу до кабинета с компьютером. А у меня GMT +5.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru