sms没有开火的广播接收器

时间:2015-09-29 08:06:16

标签: sms broadcast

我已经找到了我能找到的每一个帖子,但仍然无法让我的接收器对任何事情作出反应。我的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();

}

}

感谢您提供的任何帮助。

1 个答案:

答案 0 :(得分:0)

好的 - 这是解决它的原因。我使用的是Samsung note 4预装的三星短信应用程序。我下载了Google消息传递应用程序并禁用了三星消息传递应用程序,它现在就像一个魅力。