Iは、次のコードスニペットを使用して、Android上でデータSMSを送受信することができる:送信側のポート= 8091バイナリSMS:動的受信登録
SmsManager manager = SmsManager.getDefault();
manager.sendDataMessage(phonenumber, null, (short) PORT, data,piSend, piDelivered);
を。また、受信者の場合、ブロードキャストインテントは、マニフェストファイルで次のように定義されます。
<receiver android:name=".DataSMSReceiver">
<intent-filter>
<action android:name="android.intent.action.DATA_SMS_RECEIVED"/>
<data android:port="8091"/>
<data android:scheme="sms"/>
</intent-filter>
</receiver>
は、DataSMSReceiverクラスで受信されます。
しかし、私はテキストSMS例えばのために行うように動的放送受信機を登録する必要があります。:
protected static final String SMS_RECEIVED="android.provider.Telephony.SMS_RECEIVED";
getApplicationContext().registerReceiver(mReceiver, new IntentFilter(SMS_RECEIVED));
どのように動的に受信機を登録するIntentFilterでポートを指定することができますか?
ありがとうございます。
ありがとうございました。今すぐ動作します。 –