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.
50 lines
1.8 KiB
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( + ": " + );
|
|
}
|
|
}
|