Back to project page SmsAutoAnswer.
The source code is released under:
MIT License
If you think the Android project SmsAutoAnswer listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
package com.example.autosms; // w w w . ja v a 2 s. c o m import java.util.ArrayList; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.media.MediaPlayer; import android.os.Bundle; import android.telephony.gsm.SmsMessage; import android.widget.Toast; import android.app.Activity; import android.app.PendingIntent; import android.content.Intent; import android.os.Bundle; import android.telephony.gsm.SmsManager; import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; public class SmsReceiver extends BroadcastReceiver { private static boolean activated=true; public static boolean changeStatus() { return SmsReceiver.activated=!SmsReceiver.activated; } @Override public void onReceive(Context context, Intent intent) { //---get the SMS message passed in--- Log.v("SmsReceiver", "Received"); Bundle bundle = intent.getExtras(); SmsMessage[] msgs = null; String messageRecu; String messageAEnvoyer; String numTel; ArrayList<String> longMessage; if (bundle != null) { //---retrieve the SMS message received--- Object[] pdus = (Object[]) bundle.get("pdus"); //---display the new SMS message--- SmsManager smsManager = SmsManager.getDefault(); msgs = new SmsMessage[pdus.length]; for (int i=0; i<msgs.length; i++){ messageAEnvoyer=""; longMessage=new ArrayList<String>(); msgs[i] = SmsMessage.createFromPdu((byte[])pdus[i]); numTel=msgs[i].getOriginatingAddress(); messageRecu = msgs[i].getMessageBody().toLowerCase().replaceAll(" ", ""); if(messageRecu!=null) { if(messageRecu.equals("programme")) { messageAEnvoyer="Quelle catgorie ?\r\nAnimation\r\nCreat'If\r\nGeek\r\nEntreprise"; } else if(messageRecu.equals("animation")) { messageAEnvoyer="Nous voulons organiser de nombreuses activits au cours de lanne : bien videmment continuer organiser des lasergames et des bowlings. Mais nous mettrons en place de nouvelles activits : barathons, patinoires organises, sorties de dcouverte dans Lyon."; }else if(messageRecu.equals("creat'if")) { messageAEnvoyer="Pour ne pas ngliger les filles du dpart, nous organiserons des cours de NailArt. Mais nous mettrons aussi en place des cours de cuisine pour tous les lves du dpartement ! Stop aux ptes cordons bleus tous les soirs. Dcouvrez comment cuisiner quilibr faible cout."; } else if(messageRecu.equals("geek")) { messageAEnvoyer="Nous relancerons la LANIF, pour pouvoir jouer toutes sortes de jeux et organiser des tournois avec des lots pour tous les participants ! Qui jouera quoi ? Quelle quipe vaincra ?"; } else if(messageRecu.equals("entreprise")) { messageAEnvoyer="Nous organiserons des RIFS de folie : notre quipe entreprise est motive et nhsitera pas contacter de nouvelles entreprises pour les compter parmi nous au cours de cet vnement cl pour la promo. Des start-ups aux grands groupes, vous naurez que lembarras du choix. Notre but cette anne : que plus de 60% des IFs aient une proposition de stage l'issue des RIFs !"; } else { messageAEnvoyer=devinette(messageRecu, numTel); } if(!messageAEnvoyer.equals("")) { longMessage=smsManager.divideMessage(messageAEnvoyer); smsManager.sendMultipartTextMessage(numTel, null, longMessage, null, null); } } } } } public String devinette(String messageRecu, String numTel) { String messageAEnvoyer=""; String devinette; PredictifData data = PredictifData.getInstance(); if(messageRecu.equals("devinette")) { devinette = data.getRandom(); if(devinette.equals("moi")) { messageAEnvoyer=caesar(numTel); } else { messageAEnvoyer=data.nomQuestion.get(devinette); } data.numDevinette.put(numTel, devinette); } else if(data.numDevinette.containsKey(numTel)){ if(messageRecu.equals(data.numDevinette.get(numTel))){ messageAEnvoyer="Great ! You did it."; } else if(messageRecu.equals("quitter")){ messageAEnvoyer="Bye, you little shit."; data.numDevinette.remove(numTel); } else { //messageAEnvoyer="You failed"; } } return messageAEnvoyer; } public String caesar(String text) { char[] chars = text.toCharArray(); for (int i=0; i < text.length(); i++) { char c = chars[i]; if (c >= 43 && c <= 57) { int x = c; Log.v("ASCII", Integer.toString(x)); chars[i] = (char) (x + 64); } } return new String(chars); } }