Próbuję uzyskać numer telefonu i nazwę książki telefonicznej z wiadomości tekstowej. Gdy uruchomię go z aplikacji i zamknę aplikację, działa, ale po ponownym uruchomieniu telefonu komórkowego nie działa. Ktoś?Odbiornik transmisji SMS nie działa po ponownym uruchomieniu
public class IncomingSMSReceiver extends BroadcastReceiver {
private static final String queryString = "@zovi";
private static final String SMS_RECEIVED = "android.provider.Telephony.SMS_RECEIVED";
public void onReceive(Context _context, Intent _intent) {
if (_intent.getAction().equals(SMS_RECEIVED)) {
Intent intent = new Intent(_context, IncomingSMSService.class);
_context.startService(intent);
Bundle bundle = _intent.getExtras();
if (bundle != null) {
Object[] pdus = (Object[]) bundle.get("pdus");
SmsMessage[] messages = new SmsMessage[pdus.length];
for (int i = 0; i < pdus.length; i++)
messages[i] = SmsMessage.createFromPdu((byte[]) pdus[i]);
for (SmsMessage message : messages) {
String msg = message.getMessageBody();
Log.i("Poruka", msg);
String to = message.getOriginatingAddress();
String contactName = TelefonUtils.getContact(_context, to);
Log.i("Od", contactName + "\n" + to);
}
}
}
}
}
Moje XML:
<receiver android:name=".telefon.receivers.IncomingSMSReceiver"
android:permission="android.permission.BROADCAST_SMS">
<intent-filter android:priority="500">
<action android:name="android.provider.Telephony.SMS_RECEIVED" />
</intent-filter>
</receiver>
pan zamknąć aplikację przed ponownym uruchomieniem urządzenia? Jakiej wersji Androida używasz? –
utwórz kolejny odbiornik dla BOOT_COMPLETE. i zarejestruj swój odbiornik msg w nim .. – Moinkhan
dodaj również tę akcję ' ' w Filtrze intencji –
Moinkhan