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 :

Permission pour la fonction ACTION.CALL


Sujet :

Android

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Architecte matériel
    Inscrit en
    Mars 2014
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Architecte matériel

    Informations forums :
    Inscription : Mars 2014
    Messages : 35
    Points : 27
    Points
    27
    Par défaut Permission pour la fonction ACTION.CALL
    Bonjour,
    je souhaite creer une liste deroulante du numero telephonique, puis sur clic bouton, de passer un appel avec ce numero.
    Problème : J'ai crée la liste déroulante et la fonction pour passer l'appel.
    Je suis coincé sur 2 étapes
    - celle du "copier/coller" du numero dans la fonction appel
    - et surtout celle de la permission m'autorisant a passer l'appel ( pour info, j'ai bien <uses-permission android:name="android.permission.CALL_PHONE"/> dans le androidmanifest. Mais AndroidStudio me dit qu'il subsite un problème de permission... Idem sur android 5 et 6.

    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
    @Override
            protected void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(layout.activity_main10);
     
     
                spinner10 = (Spinner) findViewById(R.id.spinner10);
                adapter10 = ArrayAdapter.createFromResource(this, array.Tel,android.R.layout.simple_spinner_item);
                adapter10.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
                spinner10.setAdapter(adapter10);
                spinner10.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
                    @Override
                    public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
                        String s0 = (String)parent.getItemAtPosition(position);
                        texte5.setText(s0);
                        {
                            if ("Annuaire telephonique gares ".equals(texte5.getText().toString()))
                            {texte5.setText("");}
     
                            else if ("ABBAYE(L)".equals(texte5.getText().toString()))
                            {texte5.setText("0114021420");}
     
                        }
                    }
     
     
                    @Override
                    public void onNothingSelected(AdapterView<?> parent) {}
     
                });
     
                buttonappel = (Button) findViewById(id.button45);
                buttonappel.setOnClickListener(new OnClickListener() {
                    @Override
                    public void onClick(View v) {
                        Intent intent = new Intent(Intent.ACTION_CALL);
                        intent.setData(Uri.parse("num de tel gettext : 0114021420"));
                        startActivity(intent);}});
    Pouvez vous m'aider ? un grand merci ...

  2. #2
    Membre extrêmement actif
    Profil pro
    Développeur
    Inscrit en
    Mars 2012
    Messages
    1 969
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2012
    Messages : 1 969
    Points : 3 375
    Points
    3 375
    Par défaut
    Donne les logs !!!
    Si la réponse vous a aidé, pensez à cliquer sur +1

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Architecte matériel
    Inscrit en
    Mars 2014
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Architecte matériel

    Informations forums :
    Inscription : Mars 2014
    Messages : 35
    Points : 27
    Points
    27
    Par défaut
    Fonctionne avec ce code que j'ai trouve sur un site (Android 6):

    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
    package androidmaster.callingintent;
     
    import android.Manifest;
    import android.content.Intent;
    import android.content.pm.PackageManager;
    import android.net.Uri;
    import android.os.Bundle;
    import android.support.annotation.NonNull;
    import android.support.v4.app.ActivityCompat;
    import android.support.v4.content.ContextCompat;
    import android.support.v7.app.AppCompatActivity;
    import android.view.View;
    import android.widget.Button;
     
    public class MainActivity extends AppCompatActivity {
        private static final int REQUEST_CALL = 1;
        Intent callIntent;
        Button mCallButton;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            init();
        }
     
        private void init(){
            mCallButton=(Button)findViewById(R.id.call);
            mCallButton.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    callIntent=new Intent(Intent.ACTION_CALL, Uri.parse("tel: 7674001311"));
                    if (ContextCompat.checkSelfPermission(MainActivity.this, Manifest.permission.CALL_PHONE)!= PackageManager.PERMISSION_GRANTED){
                        ActivityCompat.requestPermissions(MainActivity.this,new String[]{Manifest.permission.CALL_PHONE},REQUEST_CALL);
                    }else {
                        startActivity(callIntent);
                    }
                }
            });
        }
     
        @Override
        public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
            switch (requestCode){
                case REQUEST_CALL:
                {
                    if (grantResults.length>0 && grantResults[0]==PackageManager.PERMISSION_GRANTED){
                        startActivity(callIntent);
                    }else{
                        ////
                    }
                }
            }
        }
    }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] Problème permission action.CALL
    Par AbA2L dans le forum Android
    Réponses: 2
    Dernier message: 28/04/2015, 19h46
  2. Réponses: 3
    Dernier message: 05/11/2006, 13h19
  3. Réponses: 1
    Dernier message: 10/05/2006, 09h47
  4. Pourquoi une seule valeur de retour pour les fonctions ?
    Par Bruno75 dans le forum Langages de programmation
    Réponses: 33
    Dernier message: 18/01/2004, 13h58
  5. autre probleme pour deriver fonction
    Par voyageur dans le forum Mathématiques
    Réponses: 15
    Dernier message: 28/07/2003, 14h37

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