Archief - Android, sms data doorsturen van broadcastReceiver class naar de main class

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

yannick

Legacy Member
Beste,

Momenteel zit ik met een klein technisch probleem omtrent het ontvangen van sms en de data hierin gebruiken. Alles werkt, ik heb enkel geen idee hoe ik de data die ik krijg in mijn SmsReceiver klasse kan doorsturen naar mijn main activity.

Normaal zou ik gwn een instantie aanmaken van deze SmsReceiver classe en dan gebruik maken van een getter om e data op te halen in de main activity, maar als ik een constructor maak in de Sms Receiver klasse werkt het niet meer (can not instantiate receiver).

Code:
SMS RECEIVER
package en.gpstest;

import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.telephony.SmsMessage;

import android.util.Log;
import android.widget.Toast;

public class SmsReceiver extends BroadcastReceiver {
	@Override
	public void onReceive(Context context, Intent intent) {
		Bundle bundle = intent.getExtras();

		Object messages[] = (Object[]) bundle.get("pdus");
		SmsMessage smsMessage[] = new SmsMessage[messages.length];
		for (int n = 0; n < messages.length; n++) {
		smsMessage[n] = SmsMessage.createFromPdu((byte[]) messages[n]);

	}
}
}

Ik had gedacht aan intents, maar heb geen idee hoe ik deze kan "catchen".

yannick

Legacy Member
Moet ik dan nog iets aanpassen aan de code van de SmsReceiver (zoals bijvoorbeeld een intent starten)?

*EDIT*

Ik denk dat ik het al heb, gewoon een intent starten met de context van de main app, deze intent doorsturen met sendBroadcast(), en dan in de main activity onReceive() Overriden.

Wolf2000me

Legacy Member
Intents catchen doe je in je androidmanifest met een intent filter

The AndroidManifest.xml File | Android Developers

Vergeet niet dat als je een constructor maakt terwijl je class moet instantiated worden door het framework dat de constructor moet overeenkomen met de constructor van je superclass.

Hoe thuis ben je in Java?
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan