たとえば、電子メールサービスから送信されたメッセージの真の「From」タグが表示されます。7135192435@tmomail.netには、異なる「From」タグがあり、SMSを介してメッセージを受信すると、メッセージの詳細が明らかになります。tmomail.net経由でSMSメッセージを受信できるようにしたいのですが、欠落しているリンクは、電話が「From」タグとして正確に認識しているものにあります。私は他の携帯電話からSMSを正常に受信しました、そして私の放送受信機はそれらをキャッチします。ただし、tmomail.netを介してこれらのテキストを受信するために、「From」フィルターを適切に設定できません。プロジェクトから時間をかけて支援してくれるすべてのノーベルアンドロイドウィザードに事前に感謝します。以下はコードです...
public class SmsReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
// ---get the SMS message passed in---
Bundle bundle = intent.getExtras();
SmsMessage[] msgs = null;
String str = "";
Log.d("SMS_Project", "Beginning fired!");
if (bundle != null) {
// ---retrieve the SMS message received---
Object[] pdus = (Object[]) bundle.get("pdus");
msgs = new SmsMessage[pdus.length];
for (int i = 0; i < msgs.length; i++) {
msgs[i] = SmsMessage.createFromPdu((byte[]) pdus[i]);
String mFrom = msgs[i].getOriginatingAddress();
String mBody = msgs[i].getMessageBody().toString();
Log.d("SMS_Project", "The From tag follows this line");
if (mFrom.equals("JimJohanson@JollyRanchers.com")) {
Log.d("SMS_Project", "above is the from tag");
if (mBody.indexOf("1") == 0) {
str += "SMS from '" + mFrom + "'";
str += " :";
str += mBody;
str += "\n";
// ---display the new SMS message---
Log.d("SMS_Project", "Toast anyone?");
Toast.makeText(context, str, Toast.LENGTH_LONG).show();
this.abortBroadcast();
}
}
}
}
Log.d("SMS_Project", "No toast yet");}
マニフェスト情報:
<receiver android:name=".SmsReceiver" >
<intent-filter android:priority="99999999" >
<action android:name="android.provider.Telephony.SMS_RECEIVED" />
</intent-filter>
</receiver>
これらは私の許可です:
<uses-permission android:name="android.permission.RECEIVE_SMS" />
私は問題が電子メールを合法的なSMSに翻訳する能力の電話の欠如であると思う。おそらくそれは代わりにマルチメディアメッセージタイプですか?私はこれがうまくいくまでどこにも青をとかし続けるつもりです。私がこれまでに持っているものについて質問があれば。私にお知らせください。ありがとう。