summaryrefslogtreecommitdiff
path: root/src/user4574/texttransport/SMSReceiver.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/user4574/texttransport/SMSReceiver.java')
-rw-r--r--src/user4574/texttransport/SMSReceiver.java26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/user4574/texttransport/SMSReceiver.java b/src/user4574/texttransport/SMSReceiver.java
new file mode 100644
index 0000000..c313b0f
--- /dev/null
+++ b/src/user4574/texttransport/SMSReceiver.java
@@ -0,0 +1,26 @@
+package user4574.texttransport;
+
+import org.eclipse.paho.client.mqttv3.MqttException;
+import org.eclipse.paho.client.mqttv3.MqttTopic;
+
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.Intent;
+import android.os.Bundle;
+import android.telephony.SmsMessage;
+
+public class SMSReceiver extends BroadcastReceiver {
+ public void onReceive(Context context, Intent intent) {
+ Bundle pdusBundle = intent.getExtras();
+ Object[] pdus = (Object[]) pdusBundle.get("pdus");
+ SmsMessage message = SmsMessage.createFromPdu((byte[]) pdus[0]);
+ try {
+ if (Start.client != null) {
+ MqttTopic t = Start.client.getTopic("/texttransport/" + message.getOriginatingAddress().substring(1) + "/received");
+ t.publish(message.getMessageBody().getBytes(), 2, false);
+ }
+ } catch (MqttException e) {
+ e.printStackTrace();
+ }
+ }
+} \ No newline at end of file