我已经找到了我能找到的每一个帖子,但仍然无法让我的接收器对任何事情作出反应。我的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();
}
}
感谢您提供的任何帮助。
答案 0 :(得分:0)
好的 - 这是解决它的原因。我使用的是Samsung note 4预装的三星短信应用程序。我下载了Google消息传递应用程序并禁用了三星消息传递应用程序,它现在就像一个魅力。