【发布时间】:2015-09-29 08:06:15
【问题描述】:
我浏览了所有我能找到的帖子,但我仍然无法让我的接收者对任何事情做出反应。我的 XML:
<receiver android:name=".CollageSMSReceiver"
android:enabled="true"
android:exported="true" >
android:permission="android.permission.BROADCAST_SMS">
<intent-filter android:priority="2147483647">
<action android:name="android.provider.Telephony.SMS_RECEIVED"></action>
</intent-filter>
</receiver>
这是一个很大的 XML,所以在顶部我有:
<uses-permission android:name="android.permission.RECEIVE_SMS"></uses-permission>
<uses-permission android:name="android.permission.READ_SMS" />
<uses-permission android:name="android.permission.SEND_SMS"></uses-permission>
还有我的 Java:
public class CollageSMSReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Log.i("sms","fired up");
Object[] pdus = (Object[]) intent.getExtras().get("pdus");
SmsMessage currentMessage = SmsMessage.createFromPdu((byte[]) pdus[0]);
String sender = "";
StringBuilder text = new StringBuilder();
// get sender from first PDU
sender = currentMessage.getOriginatingAddress();
for (int i = 0; i < pdus.length; i++) {
currentMessage = SmsMessage.createFromPdu((byte[]) pdus[i]);
text.append(currentMessage.getDisplayMessageBody());
}
String phoneNumber = currentMessage.getDisplayOriginatingAddress();
String message = currentMessage.getDisplayMessageBody();
}
}
感谢您提供的任何帮助。
【问题讨论】: