它显示了从电子邮件服务 ex 发送的消息的真正“发件人”标签。7135192435@tmomail.net 有一个不同的“发件人”标签,然后是通过 SMS 收到消息后消息详细信息显示的内容。我希望能够通过 tmomail.net 接收 SMS 消息,但缺少的链接在于手机所看到的“发件人”标签。我已成功收到其他手机的短信,我的广播接收器收到了它们。但是,我无法正确设置“发件人”过滤器以通过 tmomail.net 接收这些文本。提前感谢所有诺贝尔 android 向导,他们可能会从他们的项目中抽出时间来提供帮助。下面是代码...
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" />
我怀疑问题是手机缺乏将电子邮件翻译成合法短信的能力。也许它是多媒体消息类型?在我开始之前,我将继续梳理蓝色。如果您对我到目前为止的内容有任何疑问。请告诉我。谢谢。