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 :

Création d'un widget SMS


Sujet :

Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2010
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 36
    Par défaut Création d'un widget SMS
    Bonjour,
    je tente de créer un widget pour gérer la lecture de SMS
    J'ai écris quelques lignes de code dont le seul but est de m'afficher le premier sms de sms/inbox de ma base de donné sms. Mon problème est que éclipse ne reconnait pas "getContentResolver()" et "startManagingCursor" et du coup refuse de compiler...
    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
     
    import android.R.string;
    import android.appwidget.AppWidgetManager;
    import android.appwidget.AppWidgetProvider;
    import android.net.Uri;
    import android.widget.RemoteViews;
    import android.content.ComponentName;
    import android.content.ContentResolver;
    import android.content.Context;
    import android.content.Intent;
    import android.database.Cursor;
    import android.widget.ArrayAdapter;
    import android.app.Activity;
    import android.database.sqlite.SQLiteDatabase;
    import android.database.sqlite.SQLiteDatabase.CursorFactory;
     
    public class MonWidget extends AppWidgetProvider {
     
    	 public void onUpdate(Context context,  AppWidgetManager appWidgetManager,
    	            int[] appWidgetIds) {
     
    		 Uri uri = Uri.parse("content://sms/inbox");
    		// returns all the results.
    		Cursor c= getContentResolver().query(uri, null, null ,null,null); 
    		// called by the Activity.
    		startManagingCursor(c);
    		String body = null;
    		String number = null;
     
    		if(c.moveToFirst()) { // move cursor to first row
    		   // retrieves the body and number of the SMS
    		   body = c.getString(c.getColumnIndexOrThrow("body")).toString();
    		   number = c.getString(c.getColumnIndexOrThrow("address")).toString();
    		}
     
    		// when your done, close the cursor.
    		c.close(); 
         RemoteViews updateViews = new RemoteViews(context.getPackageName(),
                 R.layout.widget_layout);
     
     
         updateViews.setTextColor(R.id.text, 0xFF000000);
         updateViews.setTextViewText(R.id.text, (CharSequence) body);
     
         ComponentName thisWidget = new ComponentName(context, MonWidget.class);
         appWidgetManager.updateAppWidget(thisWidget, updateViews);
         }
    }
    je ne trouve pas l'erreur même après de nombreuse recherche sur le net et dans les tutos...
    Je suis désespéré!
    Merci de jeter un œil

  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 : 41
    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
    Par défaut
    Bonjour,

    tu as tenté le :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Cursor c= context.getContentResolver().query(uri, null, null ,null,null);

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2010
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 36
    Par défaut
    J'ai essayé et eclipse me met en commentaire "add cast to method receiver" ou "la méthode getContentResolver() n'est pas définie pour monwidget"..., peut-être existe-t-il une solution pour faire ce que je veux faire...?
    il y a aussi un problème avec startManagingCursor

  4. #4
    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 : 41
    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
    Par défaut
    il te met ton erreur à quel endroit ?

    Sinon
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    // called by the Activity.
    startManagingCursor(c);
    Cet appel n'est valable uniquement dans le cas où t'as classe est une activity. Là c'est un widget donc ceci n'est pas valide.
    Ca permet d'après ce que j'ai compris de supprimer le cursor lorsque l'activity est détruite. Donc il suffit que tu le gère manuellement dans ton widget.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Février 2010
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 36
    Par défaut
    Le programme s'est compilé mais l'éxcution du widget à planté... comment utiliser manuellement le curseur?

    Si quelqu'un a une idée de comment pointer le curseur manuellement sur le premier sms je suis preneur, pour l'instant je tourne sur les recherche mais c'est pas évident...
    merci

  6. #6
    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 : 41
    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

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

Discussions similaires

  1. [Android] Mon widget sms
    Par pitispike dans le forum Mon application mobile
    Réponses: 2
    Dernier message: 28/06/2011, 13h17
  2. Création d'un widget (dashboard)
    Par hmac2010 dans le forum Apple
    Réponses: 5
    Dernier message: 31/05/2010, 08h22
  3. Création d'un Widget pour la recherche dans une liste
    Par faxeur1986 dans le forum Java ME
    Réponses: 0
    Dernier message: 26/08/2009, 15h56
  4. [AJAX] Création d'un widget avec UWA
    Par folly29 dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 02/06/2008, 15h48

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