IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Android Discussion :

Recevoir un rapport lorsqu'on n'a pas suffisamment de crédit pour un SMS


Sujet :

Android

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2012
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2012
    Messages : 11
    Points : 7
    Points
    7
    Par défaut Recevoir un rapport lorsqu'on n'a pas suffisamment de crédit pour un SMS
    Bonjour Cher Développeur,

    je développe une application Android pour l'envoi des SMS (un sms contient plus de 160 caractères ).

    Pour ce qui concerne l'envoi, ça marche sans problème. Mais lorsque je n'ai pas suffisamment de crédits, pour l'envoi de l'SMS, je ne recois pas un rapport. le système d'envoi plante, ainsi, je n'arrive pas a envoyer un SMS depuis l'application native d'sms d'Android. Il faut pour cela redémarrer mon appareil afin de pouvoir envoyer un SMS.

    j'aimerais avoir un retour selon lequel je saurai que je n'ai pas suffisamment de crédit pour cette opération à travers les Intents
    voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    @SuppressWarnings({ "deprecation", "deprecation" })
    public  void sendSMS(String message, String phoneNumber)
        {
            String SENT = "SMS_SENT";
            String DELIVERED = "SMS_DELIVERED";
     
            ArrayList<PendingIntent> sentPendingIntents = new ArrayList<PendingIntent>();
            ArrayList<PendingIntent> deliveredPendingIntents = new ArrayList<PendingIntent>();
     
            PendingIntent sentPI = PendingIntent.getBroadcast(this, 0,
                    new Intent(SENT), 0);
     
            PendingIntent deliveredPI = PendingIntent.getBroadcast(this, 0,
                    new Intent(DELIVERED), 0);
     
            registerReceiver(new BroadcastReceiver() {
     
                @SuppressWarnings("deprecation")
                @Override
                public void onReceive(Context arg0, Intent arg1) {
                    // TODO Auto-generated method stub
                    switch(getResultCode())
                    {
                        case Activity.RESULT_OK:
     
                            display("SUCCES:TRANSFERT VALIDE.");
     
                            mp_smssend.start();//jouer un sont d'envoi reussi !
                        break;
                        case SmsManager.RESULT_ERROR_GENERIC_FAILURE:
                            display("Generic failure");
                        break;
                        case SmsManager.RESULT_ERROR_NO_SERVICE:
                            display("No Service");
                        break;
                        case SmsManager.RESULT_ERROR_NULL_PDU:
                        display("Null PDU");
                        break;
                        case SmsManager.RESULT_ERROR_RADIO_OFF:
                            display("Radio off");
                        break;                 
                    }
     
                }
            }, new IntentFilter(SENT));
     
     
            registerReceiver(new BroadcastReceiver() {
     
                @Override
                public void onReceive(Context context, Intent intent) {
                    // TODO Auto-generated method stub
                    switch(getResultCode())
                    {
                        case Activity.RESULT_OK:
                            display("Merci et à bientot ");
                        break;
                        case Activity.RESULT_CANCELED:
                            display("Problème de réseau veuillez réessayer");
                        break;         
                    }
                }
            }, new IntentFilter(DELIVERED));
     
            SmsManager sms = SmsManager.getDefault() ;
            ArrayList<String> msgStringArray = sms.divideMessage(message);
     
            for (int number=0; number<msgStringArray.size();number++)
            {
                sentPendingIntents.add(sentPI);
                deliveredPendingIntents.add(deliveredPI);
     
            }
            sms.sendMultipartTextMessage(phoneNumber, null, msgStringArray,  sentPendingIntents, deliveredPendingIntents); 
        }
    Pour l'instant je reçois une alerte que l'ai placé des le cas ci-dessous entre 15 à 20 minutes après de l’opération (trop long) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    case SmsManager.RESULT_ERROR_GENERIC_FAILURE:
    display("Generic failure");
    break;
    j'aimerais avoir un rapport aussi tôt que l’opération échoue.

    Merci.

  2. #2
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2013
    Messages
    273
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2013
    Messages : 273
    Points : 150
    Points
    150
    Par défaut
    si le seul motif du plantage de ton application est le manque de crédit, tu pourrai tout simplement ajouter un try et catch a ton code

    de cette maniere :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    try {
    //envoi de sms     
    } 
    catch (Exception e) {
    //toast qui indiquerai a l'utilisateur qui lui est impossible d'envoyer un sms
    }
    tu peux lire cet article pour connaitre plus en détail cette manière de procéder http://jmdoudoux.developpez.com/cour...exceptions.php

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2012
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2012
    Messages : 11
    Points : 7
    Points
    7
    Par défaut
    Merci danieldou,
    en fait c'est peut être moi qui explique mal. quand je parle de plantage, je ne voulais pas sire par la que l'application se bloque. elle reste toujours manipulable ( passer d'une activité a une autre par exemple) mais j'ai l'sms ne vas pas (chose normale puisqu'il ny a pas de credits), en plus il devient impossible d'envoyer un sms via une autre app, meme avec l'app d'sms native d'android ( envoi en cours........ près de deux heures). il faut redémarrer l'apareil pour qu'on puisse envoyer un autre sms a nouveau: c'est ce que j'appelais "planter"
    Desolé si je n'ai pas trouvé le bon mot.

    Je viens d'essayer le Try...Catch... et ca ne change rien pour l'instant.

    Merci encore

  4. #4
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2013
    Messages
    273
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2013
    Messages : 273
    Points : 150
    Points
    150
    Par défaut
    j'ai réfléchi a ton problème, et je n'ai malheureusement pas trouvé de solution pour le moment, j'ai pensé a quelques méthodes mais je ne pense pas qu'elles fonctionnerons, je te tiendrai au courant si je trouve quelque chose de fonctionnel

    bonne continuation

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2012
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2012
    Messages : 11
    Points : 7
    Points
    7
    Par défaut
    Merci déjà et je continue de chercher de mon coté aussi.

Discussions similaires

  1. Réponses: 7
    Dernier message: 17/11/2008, 15h05
  2. [CR X] cacher un sous rapport s'il ne contient pas de données
    Par bossun dans le forum SAP Crystal Reports
    Réponses: 5
    Dernier message: 24/06/2008, 09h08
  3. Réponses: 16
    Dernier message: 26/12/2007, 09h28
  4. Réponses: 4
    Dernier message: 26/09/2007, 19h24
  5. Reporting Services - rapport qui ne s'affiche pas
    Par sandmil dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 12/07/2007, 14h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo