Перехват смс

Ответить
sanya920
Сообщения: 3
Зарегистрирован: 29 июн 2015, 16:41

Перехват смс

Сообщение sanya920 » 05 июл 2015, 16:24

В интернете куча примеров, но ни один у меня не работает. Тестирую на реальном устройстве и в момент получения сообщения приложение вылетает с ошибкой.

в манифест добавил разрешения

Код: Выделить всё

    <uses-permission android:name="android.permission.RECEIVE_SMS"/>
и ресивер

Код: Выделить всё

    <receiver android:name="SmsReceiver" android:exported="true">
    <intent-filter android:priority="999">
        <action android:name="android.provider.Telephony.SMS_RECEIVED"></action>
    </intent-filter>
     </receiver> 
класс выглядит так:

Код: Выделить всё

public class SmsReceiver extends BroadcastReceiver {
        private StringBuilder body = new StringBuilder();
        
        @Override
        public void onReceive(Context context, Intent intent) {
            Bundle extras = intent.getExtras();
            String strMsgSrc = "";
            String strMsgDate = "";
            if (extras != null) {
                Object[] smsextras = (Object[]) extras.get("pdus");
     
                for (int i = 0; i < smsextras.length; i++) {
                    SmsMessage smsmsg = SmsMessage
                            .createFromPdu((byte[]) smsextras[i]);
     
                     body.append(smsmsg.getMessageBody().toString());
                     strMsgSrc = smsmsg.getOriginatingAddress();
                     strMsgDate =String.valueOf(smsmsg.getTimestampMillis());
     
                }
                //
            }
     
        }
    }
исходник прилагается, за ранее спасибо
Вложения
sms.rar
Исходник
(1.76 МБ) 162 скачивания

Ответить