You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tijder_SmsMatrix/app/src/main/java/eu/droogers/smsmatrix/SmsListener.java

50 lines
1.8 KiB

package eu.droogers.smsmatrix;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.telephony.SmsMessage;
import android.util.Log;
/**
* Created by gerben on 6-10-17.
*/
public class SmsListener extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if(intent.getAction().equals("android.provider.Telephony.SMS_RECEIVED")){
Bundle bundle = intent.getExtras(); //---get the SMS message passed in---
SmsMessage[] msgs = null;
String msg_from;
if (bundle != null){
//---retrieve the SMS message received---
try{
Object[] pdus = (Object[]) bundle.get("pdus");
msgs = new SmsMessage[pdus.length];
for(int i=0; i<msgs.length; i++){
msgs[i] = SmsMessage.createFromPdu((byte[])pdus[i]);
msg_from = msgs[i].getOriginatingAddress();
String msgBody = msgs[i].getMessageBody();
System.out.println(msg_from + ": " + msgBody);
// Matrix mx = new Matrix(context, "https://matrix.org");
sendMatrix(context, msgBody, msg_from);
}
}catch(Exception e){
Log.d("Exception caught",e.getMessage());
}
}
}
}
private void sendMatrix(Context context, String body, String phone) {
Intent intent = new Intent(context, MatrixService.class);
intent.putExtra("SendSms_phone", phone);
intent.putExtra("SendSms_body", body);
context.startService(intent);
// MainActivity.mx.sendMessage( + ": " + );
}
}