Mails, téléphone et SMS

1°) Téléphoner :

Dans le fichier manifest .xml ajout de la permission CALL_PHONE (extrait du manifest) :

<uses-permission android:name="android.permission.CALL_PHONE"></uses-permission>      

<application        ....  

Ajouter le code :

 private void call(String num) {  
        try {  
          Intent callIntent = new Intent(Intent.ACTION_CALL); //-- ACTION_DIAL : Affiche n° //-- ACTION_CALL : numérote et effectue l'appel  
          callIntent.setData(Uri.parse("tel:"+num));  
          startActivity(callIntent);  
        } catch (ActivityNotFoundException e) {  
          Log.e("helloandroid dialing example", "Call failed", e);  
        }  
      }  

2°) Pour envoyer des SMS (version KitKat 4.4):

Placer les permissions dans le fichier  AndroidManifest.xml :

<uses-permission android:name="android.permission.RECEIVE_SMS"> </uses-permission>
<uses-permission android:name="android.permission.READ_SMS">    </uses-permission>
<uses-permission android:name="android.permission.SEND_SMS">    </uses-permission>

Importer les pakages

import android.telephony.SmsManager;
import android.telephony.SmsMessage;

Ajouter le code :
 private void SendSms(String num) {  
        String message = "Hello World!";  
        SmsManager smsManager = SmsManager.getDefault();  
        smsManager.sendTextMessage(num, null, message, null, null);  
      }  

Pour expédier un message de plus de 160 caractères :

Le SMS source est divisé en plusieurs SMS contenus dans un tableau. Cette opération est réalisée par l’instruction

smsManager.divideMessage("message à diviser...");

Ainsi le code source devient :
SmsManager smsManager = SmsManager.getDefault();
String msg="Message très très long à diviser, blabla....";
ArrayList<String> msgArray = smsManager.divideMessage(msg);
smsManager.sendMultipartTextMessage(phoneNumber, null, msgArray, null, null);

En résumé, envoi  de SMS :

Via Intent :

              Intent intent;  
              intent = new Intent(Intent.ACTION_VIEW);  
              intent.setType("vnd.android-dir/mms-sms");  
              intent.putExtra("address", phoneNo);  
              intent.putExtra("sms_body",msg );   
              startActivity(intent);  

Dans le cas d’un intent, pas de permission à demander…

Sans intent :

Inclure dans le fichier manifest la permission :

<uses-permission android:name= »android.permission.SEND_SMS » />

Placez les deux lignes de code dans votre activité :

SmsManager smsManager = SmsManager.getDefault();

smsManager.sendTextMessage(phoneNo, null, msg, null, null);

Où phoneNo contiendra le n° de téléphone (String) et msg le texte à envoyer.

3°) Envoi de mails :

 Intent email = new Intent(Intent.ACTION_SEND);  
 email.putExtra(Intent.EXTRA_EMAIL, new String[]{"youremail@yahoo.com"});             
 email.putExtra(Intent.EXTRA_SUBJECT, "subject");  
 email.putExtra(Intent.EXTRA_TEXT, "message");  
 email.setType("message/rfc822");  
 startActivity(Intent.createChooser(email, "Choose an Email client :"));  

Pour envoyer des mails sans intents :

a) téléchargez les jars , décompressez les fichiers dans le répertoire app/libs et ajoutez les jar (Project Files / add as lib)

b) créer une classe JSSEPROVIDER

c) une classe GmailSender

d) ajoutez dans le manifest la permission internet

Le code source complet est  ici

cf. https://www.mindstick.com/Articles/1673/sending-mail-without-user-interaction-in-android

et http://www.jondev.net/articles/Sending_Emails_without_User_Intervention_(no_Intents)_in_Android

Références :

http://rainylinkb.blogspot.fr/2013/01/sending-email-from-android-in.html

http://www.codeproject.com/Articles/548416/Detecting-incoming-and-outgoing-phone-calls-on-And

http://www.compiletimeerror.com/2013/06/send-sms-in-android-example.html

http://www.discretelogix.com/blog/android-articles/send-sms-programmatically-in-android

http://javatechig.com/android/sending-sms-message-in-android#2-sending-sms-by-invoking-built-in-sms-application

http://www.mkyong.com/android/how-to-send-email-in-android/

 

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

Articles récents
Commentaires récents
fatima sur Bienvenue !
AdminDroid sur Bienvenue !
fatima sur Bienvenue !
Archives
Catégories
%d blogueurs aiment cette page :