Android SMS динамическое вещание

У меня есть программа, которая отправляет SMS на устройство, которое отвечает с помощью SMS. Я хочу получить SMS-сообщение и отправить сообщение обратно в мою программу. Потому что я буду ждать только определенное время, мне нужна динамическая регистрация

Вот мой код для приемника Breadcast

public class SMSReceiver extends BroadcastReceiver {

    private MainActivity father = null;

    private String call_number = null;

    public void setFather (MainActivity father) {
        this.father = father;
        call_number = father.getCallNumber().trim();
        while (call_number.startsWith("0")) {
            call_number = call_number.substring(1);
        }
    }

    public void onReceive(Context cxt, Intent intent)
        {
            //if(intent.getAction().equals("android.provider.Telephony.SMS_RECEIVED"))
            {
                Bundle bundle = intent.getExtras();
                Object messages[] = (Object[]) bundle.get("pdus");
                SmsMessage smsMessage[] = new SmsMessage[messages.length];

                for (int n = 0; n < messages.length; n++)
                    smsMessage[n] = SmsMessage.createFromPdu((byte[]) messages[n]);

                String sender = smsMessage[0].getDisplayOriginatingAddress();
                String mess = smsMessage[0].getDisplayMessageBody();

                String toast = "Received SMS from: " + sender + "\nMessage: " + mess;

                //if ((sender != null) && (sender.endsWith(call_number))) {
                    father.setSMSMessage((mess ==null ? "": mess)+ "\n from "+sender);
                //}


                Toast.makeText(cxt, toast, Toast.LENGTH_LONG).show();
            }

        }

}

Вот мой код для регистрации

myreceiver=new SMSReceiver();
myreceiver.setFather(this);
IntentFilter filter = new IntentFilter("android.provider.Telephony.SMS_RECEIVED");
registerReceiver(myreceiver, filter);

Вот мой AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.standheizung"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="21" />

    <uses-permission android:name="android.permission.SEND_SMS" />
    <uses-permission android:name="android.permission.RECEIVE_SMS" />
    <uses-permission android:name="android.permission.CALL_PHONE" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name=".MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <receiver android:name=".SMSChecker">
            <intent-filter>
                <action android:name="SMS_SENT" />
                <action android:name="SMS_DELIVERED" />
            </intent-filter>
        </receiver>

    </application>

</manifest>

Моя проблема в том, что я получаю SMS с устройства, но мой приемник ничего не делает. Комментарий Приемник для отправки смс работает без проблем

Кто-нибудь знает, в чем проблема???

0 ответов

Другие вопросы по тегам