Я хочу, чтобы мое приложение, чтобы получать сообщения от определенного отправителя в моем приложении через BroadcastReceiver, к сожалению, он не работает, а не бросать какие-либо ошибки, Ниже приведен код для BroadcastReceiver:метод Android onReceiver() не работает
public void onReceive(Context context, Intent intent) {
// Get Bundle object contained in the SMS intent passed in
Bundle bundle = intent.getExtras();
SmsMessage[]smsm=null;
String sms_str = "";
if (bundle != null) {
// Get the SMS message
Object[] pdus = (Object[]) bundle.get("pdus");
smsm = new SmsMessage[pdus.length];
for (int i = 0; i < smsm.length; i++) {
smsm[i] = SmsMessage.createFromPdu((byte[]) pdus[i]);
sms_str += "Sent From: " + smsm[i].getOriginatingAddress();
sms_str += "\r\nMessage: ";
sms_str += smsm[i].getMessageBody().toString();
sms_str += "\r\n";
}
Log.d("TAG", sms_str);
// Start Application's MainActivty activity
Intent smsIntent = new Intent(context, MainActivity.class);
smsIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
smsIntent.putExtra("sms_str", sms_str);
context.startActivity(smsIntent);
}
}
в основной деятельности, у меня есть этот код для извлечения намерения:
// Get intent object sent from the SMSBroadcastReceiver
Intent sms_intent = getIntent();
Bundle b = sms_intent.getExtras();
if (b != null) {
// Display SMS in the TextView
txtViewSMS.setText(b.getString("sms_str"));
}
Моего файл манифест имеет:
<!-- Declare SMS Broadcast receiver -->
<receiver android:name=".SMSBReceiver"
android:enabled="true">
<intent-filter android:priority="999">
<action android:name="android.provider.Telephony.SMS_RECEIVED" />
</intent-filter>
</receiver>
Просьба оказать помощь. Большое спасибо
Вы получаете любую ошибку , если так, пожалуйста, отредактируйте вопрос с выходом logcat – OBX
Можете ли вы поделиться какой ошибкой он метает? –
Привет, я не получаю никаких ошибок, @Mike, Im тестирование на Android 4.1.1 и мой целевой SDK 23 – Kabs