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

Composants graphiques Android Discussion :

Erreur avec Call() sur clic bouton


Sujet :

Composants graphiques Android

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 46
    Points : 22
    Points
    22
    Par défaut Erreur avec Call() sur clic bouton
    Bonjour
    J'ai bien écris le code comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    private void call() {
    			Intent callIntent = new Intent(Intent.ACTION_CALL);
                callIntent.setData(Uri.parse("0607807767"));
                startActivity(callIntent);
     
        }
    Dans mon manifeste

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <uses-permission android:name="android.permission.READ_PHONE_STATE">
    	</uses-permission>
    Et j'ai l'erreur suivante
    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
    02-08 10:21:11.129: ERROR/AndroidRuntime(268): Uncaught handler: thread main exiting due to uncaught exception
    02-08 10:21:11.159: ERROR/AndroidRuntime(268): android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.CALL dat=0607807767 }
    02-08 10:21:11.159: ERROR/AndroidRuntime(268):     at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1408)
    02-08 10:21:11.159: ERROR/AndroidRuntime(268):     at android.app.Instrumentation.execStartActivity(Instrumentation.java:1378)
    02-08 10:21:11.159: ERROR/AndroidRuntime(268):     at android.app.Activity.startActivityForResult(Activity.java:2749)
    02-08 10:21:11.159: ERROR/AndroidRuntime(268):     at android.app.Activity.startActivity(Activity.java:2855)
    02-08 10:21:11.159: ERROR/AndroidRuntime(268):     at com.wtp.applifiche.myfiche.call(.myfiche.java:191)
    02-08 10:21:11.159: ERROR/AndroidRuntime(268):     at com.wtp.applifiche..myfiche.access$0(.myfiche.java:188)
    02-08 10:21:11.159: ERROR/AndroidRuntime(268):     at com.wtp.applifiche..myfiche$7.onClick(.myfiche.java:170)
    02-08 10:21:11.159: ERROR/AndroidRuntime(268):     at com.android.internal.app.AlertController$ButtonHandler.handleMessage(AlertController.java:158)
    02-08 10:21:11.159: ERROR/AndroidRuntime(268):     at android.os.Handler.dispatchMessage(Handler.java:99)
    02-08 10:21:11.159: ERROR/AndroidRuntime(268):     at android.os.Looper.loop(Looper.java:123)
    02-08 10:21:11.159: ERROR/AndroidRuntime(268):     at android.app.ActivityThread.main(ActivityThread.java:4310)
    02-08 10:21:11.159: ERROR/AndroidRuntime(268):     at java.lang.reflect.Method.invokeNative(Native Method)
    02-08 10:21:11.159: ERROR/AndroidRuntime(268):     at java.lang.reflect.Method.invoke(Method.java:521)
    02-08 10:21:11.159: ERROR/AndroidRuntime(268):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
    02-08 10:21:11.159: ERROR/AndroidRuntime(268):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
    02-08 10:21:11.159: ERROR/AndroidRuntime(268):     at dalvik.system.NativeStart.main(Native Method)

  2. #2
    Rédacteur
    Avatar de MrDuChnok
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2002
    Messages
    2 112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2002
    Messages : 2 112
    Points : 4 240
    Points
    4 240
    Par défaut
    Bonjour,

    Dans l'autre post, la correction qui t'as été donnée n'est pas la même que tu utilises ici

    Intent callIntent = new Intent(Intent.ACTION_CALL);
    callIntent.setData(Uri.parse("tel:0607808767"));
    startActivity(callIntent);

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 46
    Points : 22
    Points
    22
    Par défaut
    Oui mais quand j'écris

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Uri.parse("tel:0607807767")
    J'ai la meme erreur, c'est pourquoi j'avais enlevé tel:
    Qu'est-ce qui est mauvais ?

  4. #4
    Jay
    Jay est déconnecté
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    124
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2002
    Messages : 124
    Points : 189
    Points
    189
    Par défaut
    Bonjour,

    L'erreur provient que tu utilises la mauvaise permission....

    La bonne est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <uses-permission android:name="android.permission.CALL_PHONE"></uses-permission>
    Cordialement,

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 46
    Points : 22
    Points
    22
    Par défaut
    Ha oui merci pour ta réponse

    Quand dans l'appli je mets mon N° de portable il ne sonne pas, c'est normal ?
    Et pour l'envoi de mail la permission est differente ?

  6. #6
    Expert éminent

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Points : 9 149
    Points
    9 149
    Par défaut
    Bonjour,

    Et pour l'envoi de mail la permission est differente ?
    La permission pour l'envoi de mail est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <uses-permission android:name="android.permission.INTERNET"></uses-permission>

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 46
    Points : 22
    Points
    22
    Par défaut
    C'est ce que j'ai indiqué dans mon manifest
    Pourtant quand je lance l'appli, le simulateur m'affiche
    no application perform this action

  8. #8
    Inscrit

    Profil pro
    Inscrit en
    Février 2008
    Messages
    658
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 658
    Points : 892
    Points
    892
    Par défaut
    Citation Envoyé par ClaireDu45 Voir le message
    Envoie de mail


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    public void sendMail(Context context,String destinateur,String message,String subjet)
    {
     
     Intent senderIntent= new Intent(Intent.ACTION_SEND);
     senderIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
     senderIntent.putExtra(Intent.EXTRA_EMAIL, new String[]{destinateur});
     senderIntent.putExtra(Intent.EXTRA_SUBJECT,subject );
     senderIntent.putExtra(Intent.EXTRA_TEXT,message );
     context.startActivity(Intent.createChooser(senderIntent,"Envoie du message"));
    }
    Permet d'envoyer un mail.....
    Tu n' as besoin de la permission internet....
    Ton application en fait ne se connecte pas à l'internet mais fais appel à une application tierce (Call, Mail....etc)

  9. #9
    Jay
    Jay est déconnecté
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    124
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2002
    Messages : 124
    Points : 189
    Points
    189
    Par défaut
    Je pense que c'est normal si tu essayes t'appeler ton propre portable.....

    Citation Envoyé par ClaireDu45 Voir le message
    Ha oui merci pour ta réponse

    Quand dans l'appli je mets mon N° de portable il ne sonne pas, c'est normal ?
    Et pour l'envoi de mail la permission est differente ?

  10. #10
    Inscrit

    Profil pro
    Inscrit en
    Février 2008
    Messages
    658
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 658
    Points : 892
    Points
    892
    Par défaut
    Citation Envoyé par Jay Voir le message
    Bonjour,

    L'erreur provient que tu utilises la mauvaise permission....
    On pas pas besoin de la permission pour lancer une appel depuis une application avec les intents

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    	 public void launchCall(Context context,String numberToCall)
    	 {
    		 Intent intent= new         Intent(Intent.ACTION_DIAL,Uri.parse("tel:"+numberToCall));
    		 intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    		 context.startActivity(intent); 
     
    	 }
    Permet de lancer une appel depuis une appel.

  11. #11
    Jay
    Jay est déconnecté
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    124
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2002
    Messages : 124
    Points : 189
    Points
    189
    Par défaut
    Bonjour,

    Si tu utilises le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Intent callIntent = new Intent(Intent.ACTION_CALL);
    callIntent.setData(Uri.parse("0607807767"));
    startActivity(callIntent);
    et qu'il n'y a pas la permission :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <uses-permission android:name="android.permission.CALL_PHONE"></uses-permission>
    Alors une erreur se produit.... :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    "java.lang.SecurityException: Permission Denial: starting Intent { act=android.intent.action.CALL dat=tel:xxx-xxx-xxxx cmp=com.android.phone/.OutgoingCallBroadcaster } from ProcessRecord{408b02c0 6795:cdiscount.mobile/10022} (pid=6795, uid=10022) requires android.permission.CALL_PHONE
    	at android.os.Parcel.readException(Parcel.java:1322)
    	at android.os.Parcel.readException(Parcel.java:1276)
    	at android.app.ActivityManagerProxy.startActivity(ActivityManagerNative.java:1351)
    	at android.app.Instrumentation.execStartActivity(Instrumentation.java:1373)
    	at android.app.Activity.startActivityForResult(Activity.java:2827)
    	at android.app.Activity.startActivity(Activity.java:2933)
    	at cdiscount.mobile.Order$1$1.run(Order.java:109)
    "
    cf doc android :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Allows an application to initiate a phone call without going through the Dialer user interface for the user to confirm the call being placed.
    Constant Value: "android.permission.CALL_PHONE"
    Mais j'ai peut être pas compris ce que tu voulais dire.....

    Cordialement,

  12. #12
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 46
    Points : 22
    Points
    22
    Par défaut
    dans mon bouton je mets quoi ?
    sendMail(); n'est pas accepté

  13. #13
    Inscrit

    Profil pro
    Inscrit en
    Février 2008
    Messages
    658
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 658
    Points : 892
    Points
    892
    Par défaut
    Citation Envoyé par jay
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Intent callIntent = new Intent(Intent.ACTION_CALL);
    callIntent.setData(Uri.parse("0607807767"));
    startActivity(callIntent);

    Utilise ça et donne moi le resultat :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    public void launchCall(Context context,String numberToCall)
    	 {
    		 Intent intent= new         Intent(Intent.ACTION_DIAL,Uri.parse("tel:"+numberToCall));
    		 intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    		 context.startActivity(intent); 
     
    	 }

  14. #14
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 46
    Points : 22
    Points
    22
    Par défaut
    Ce code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    public void launchCall(Context context,String numberToCall)
    {
    Intent intent= new Intent(Intent.ACTION_DIAL,Uri.parse("tel:"+numberToCall));
    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    context.startActivity(intent);
     
    }
    Je le mets dans

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public void onClick(DialogInterface dialog, int id) {
    numberToCall c'est une variable ?

  15. #15
    Jay
    Jay est déconnecté
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    124
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2002
    Messages : 124
    Points : 189
    Points
    189
    Par défaut
    Ok pour cette méthode effectivement il n'y a pas besoin de permission, merci pour l'astuce.

    Par contre contrairement à l'autre, cette methode ne fait pas d'appel téléphonique mais ouvre juste le Dialer avec le numéro de téléphone. L'autre méthode permet de passer directement l'appel.

    Cordialement,

  16. #16
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 46
    Points : 22
    Points
    22
    Par défaut
    Je suis un peu perdue
    finalement quelle méthode permet de passer directement l'appel ?

  17. #17
    Jay
    Jay est déconnecté
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    124
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2002
    Messages : 124
    Points : 189
    Points
    189
    Par défaut
    LOL

    Pour passer directement un appel depuis ton application, c'est la méthode :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Intent(Intent.ACTION_CALL)
    avec la bonne permission

    si tu veux juste ouvrir le "Dialer" alors la methode est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Intent(Intent.ACTION_DIAL,Uri....
    sans permission.

    Cordialement,

  18. #18
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 46
    Points : 22
    Points
    22
    Par défaut
    OK, et pour l'envoi de mail ?

    Car quand je lance l'appli, le simulateur m'affiche
    no application perform this action

  19. #19
    Inscrit

    Profil pro
    Inscrit en
    Février 2008
    Messages
    658
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 658
    Points : 892
    Points
    892
    Par défaut
    Citation Envoyé par Jay Voir le message
    LOL

    Pour passer directement un appel depuis ton application......Deconseillé...


    Cordialement,
    Non seulement la permission permet de faire peur à l'utilisateur....

  20. #20
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 46
    Points : 22
    Points
    22
    Par défaut
    Pourquoi c'est déconseillé ?

Discussions similaires

  1. Frame avec JTable et fenêtre modale - détail sur clic bouton
    Par krysmareen dans le forum Composants
    Réponses: 1
    Dernier message: 04/03/2015, 17h14
  2. Réponses: 3
    Dernier message: 18/06/2008, 14h01
  3. Modifier requête sur clic bouton
    Par maxime350 dans le forum VBA Access
    Réponses: 2
    Dernier message: 09/04/2008, 15h59
  4. Pb avec image sur les boutons
    Par dalton5 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 05/03/2007, 10h05
  5. Problème message d'erreur et action sur clic
    Par rangernoir dans le forum Access
    Réponses: 5
    Dernier message: 26/09/2005, 12h10

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