【问题标题】:broadcast receiver for sms not firing短信广播接收器未触发
【发布时间】: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();

}

}

感谢您提供的任何帮助。

【问题讨论】:

    标签: sms broadcast


    【解决方案1】:

    好的 - 这就是修复它的方法。我正在使用三星note 4,它预设了三星消息应用程序。我下载了 Google 消息应用程序并禁用了三星消息应用程序,它现在就像一个魅力。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-08
      • 1970-01-01
      • 1970-01-01
      • 2011-05-06
      • 1970-01-01
      • 2022-07-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多