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

API standards et tierces Android Discussion :

Afficher un texte selon heure d'appel entrant


Sujet :

API standards et tierces Android

  1. #1
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2021
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2021
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Afficher un texte selon heure d'appel entrant
    Bonjour à tous.

    Je souhaiterais que mon téléphone affiche un certain texte selon l'heure et le jour de réception d'un appel.
    Mais le code ci-dessous affiche plusieurs erreurs.

    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
    package hj;
     
     
    import android.os.Bundle;
    import android.telephony.PhoneStateListener;
    import android.telephony.TelephonyManager;
    import android.util.Log;
     
    import androidx.appcompat.app.AppCompatActivity;
     
    import java.util.Calendar;
    import java.util.Date;
     
    public class MainActivity extends AppCompatActivity {
     
            @Override
            protected void onCreate(Bundle savedInstanceState) {
                    super.onCreate(savedInstanceState);
                    setContentView(R.layout.activity_main);
            }
     
     
     
    PhoneStateListener stateListener = new PhoneStateListener() {
     
     
     
     
    protected String TAG = "TelephonyExample";
     
     
     
     
    public void onCallStateChanged (int state, String incomingNumber) {
            switch (state) {
            case TelephonyManager.CALL_STATE_RINGING :
            Log.d(TAG, "Le téléphone sonne, l'appelant est " + incomingNumber);
            break;
            Date dateTime = new Date ();
            Calendar c = Calendar.getInstance();
            int dayOfWeek = c.get(Calendar.DAY_OF_WEEK);
            case System.out.println(dateTime.getDay())=1 :
            case System.out.println(dateTime.getHours())= xxx:
                  Log.d(TAG, "xxx");
            case System.out.println(dateTime.getHours())= xxx:
                  Log.d(TAG, "xxx");
                   .
                   .
                   .
            case System.out.println(dateTime.getDay())=7 :
            case System.out.println(dateTime.getHours())= xxx:
                  Log.d(TAG, "xxx");
            case System.out.println(dateTime.getHours())= xxx:
                  Log.d(TAG, "xxx");
            }
    }};}

    Erreurs :

    Incompatible types. Found: 'int', required: 'void' (erreur sur chaque ligne "System.out.println")
    Variable 'dateTime' might not have been initialized (erreur sur la dernière ligne )
    Pouvez-vous m'aider?

    Je suis novice en java

  2. #2
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 840
    Points : 22 854
    Points
    22 854
    Billets dans le blog
    51
    Par défaut
    Les case de ton switch s'attendent a avoir des entier, System.out.println() est de type void.
    Globalement tout le contenu de ton switch est mal écrit et ne respecte pas la syntaxe java.
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  3. #3
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2021
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2021
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par bouye Voir le message
    Les case de ton switch s'attendent a avoir des entier, System.out.println() est de type void.
    Globalement tout le contenu de ton switch est mal écrit et ne respecte pas la syntaxe java.

    Je te remercie de ta réponse.
    J'ai apporté des modifications. Mais j'ai les erreurs :

    ligne 35
    Incompatible types. Found: 'int', required: 'boolean'
    Statement expected
    Unexpected token
    ';' expected
    ligne 37
    Operator '||' cannot be applied to 'int', 'int'
    Statement expected
    Unexpected token
    ';' expected
    ligne 41
    'else' without 'if'
    ligne 45
    'else' without 'if'
    ligne 47
    Incompatible types. Found: 'int', required: 'boolean'
    Statement expected
    Unexpected token
    ';' expected
    ligne 49
    Operator '||' cannot be applied to 'int', 'int'
    Statement expected
    Unexpected token
    ';' expected
    ligne 52
    'else' without 'if'

    Toute aide serait la bienvenue.

    Code2 :

    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
    package YaCheickna.heuresfastesnfastes;
     
     
    import android.os.Bundle;
    import android.telephony.PhoneStateListener;
    import android.telephony.TelephonyManager;
    import android.util.Log;
     
    import androidx.appcompat.app.AppCompatActivity;
     
    import java.util.Calendar;
    import java.util.Date;
    import java.util.*;
    import static java.lang.System.*;
     
    import android.app.Activity;
    import android.content.Context;
    import android.telephony.PhoneStateListener;
    import android.telephony.TelephonyManager;
    import android.view.Menu;
    import android.widget.Toast;
     
     
    public class MainActivity extends AppCompatActivity {
            public void onCallStateChanged (int state, String incomingNumber) {
            switch (state) {
            case TelephonyManager.CALL_STATE_RINGING :
                System.out.println( "Le téléphone sonne, l'appelant est " + incomingNumber);
            break;
            Date dateTime = new Date ();
            Calendar c = Calendar.getInstance();
            int dayOfWeek = c.get(c.DAY_OF_WEEK);
            int hoursOfDay = c.get(c. HOUR_OF_DAY);
                // Au cas où le jour est 1
                if (dayOfWeek)=1 {
                    // Au cas où l’heure est 1 ou 2
                    if ((hoursOfDay)=1||( hoursOfDay))=2 {
                        System.out.println("xxx");
                        // Les autres cas restants
                    }
                    else {
                    System.out.println("xxx");
                    }
                }
                else {
                    // Au cas où le jour est 2
                if (dayOfWeek)=2 {
                    // Au cas où l’heure est 1 ou 2
                    if ((hoursOfDay)=1||( hoursOfDay))=2 {
                         System.out.println("xxx");
                    }
                    else {
                    System.out.println("xxx");
                    }
                }
                }
            }
    }
    }

  4. #4
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 840
    Points : 22 854
    Points
    22 854
    Billets dans le blog
    51
    Par défaut
    La syntaxe de ton if est fausse. Faudrait apprendre à programmer en Java avant de tenter de programmer en Java.

    => Programmation Java pour les enfants, les parents et les grands-parents par Yakov Fain, Vincent Lataye et Maxime Daniel
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  5. #5
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2021
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2021
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Bonjour à tous.

    J'ai pu finalement écrire le code. Néanmoins il marche bien sur l'émulateur Android studio (Android 5.1) mais pas sur mon téléphone (Android 10).

    J'ai les erreurs suivantes dans le logcat :

    E/applicationxxx: Unknown bits set in runtime_flags: 0x8000

    E/libc: Access denied finding property "ro.vendor.df.effect.conflict"

    E/gralloc: Arm Module v1.0

    E/ion: ioctl c0044901 failed with code -1: Invalid argument
    Pouvez-vous m'aider ?

  6. #6
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 840
    Points : 22 854
    Points
    22 854
    Billets dans le blog
    51
    Par défaut
    Hum pour la 1ere erreur/le warning, j'ai pas trouve grand chose. D'autres réponses mentionnent de rajouter la ligne suivante dans le manifeste :

    Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <manifest ... >  
    <application android:requestLegacyExternalStorage="true" ... >
    ...
    </application></manifest>

    Pour la 2d erreur, qqun mentionne avoir modifier le chemin d'enregistrement de son fichier pour contourner l'erreur.

    Quant a l'erreur suivante, aucune idée...

    Pour ce que j'en comprends sur les rares indications trouvees, le soucis peut provenir de changements d'API et/ ou de gestion de la securite entre Android 5.x et 10.
    As-tu essaye de mettre a jour l’émulateur/Android Studio pour matcher la version d'Android (et etre sur que le code se comporte a l'identique sur émulateur sur Android 5.1 et sur Android 10) et, juste au cas ou, es-tu sur d'avoir produit un APK pour une architecture compatible avec celle de ton téléphone (ARM, ARM64, x86, etc.) ?
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

Discussions similaires

  1. [WD-2000] Afficher un texte selon choix d'une liste déroulante
    Par wyzer dans le forum VBA Word
    Réponses: 11
    Dernier message: 13/12/2017, 10h12
  2. Afficher un texte selon le lien cliqué.
    Par ledisciple dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 30/04/2010, 16h38
  3. Réponses: 4
    Dernier message: 23/08/2007, 17h23
  4. [Système] Afficher un texte toutes les heures
    Par morgan47 dans le forum Langage
    Réponses: 4
    Dernier message: 16/12/2006, 23h39
  5. Réponses: 14
    Dernier message: 30/05/2006, 16h55

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