2011-06-21 1 views
1

Je suis en train de développer une application qui existe déjà mais que je développe juste pour apprendre. Je développe une application client GMail pour Android. J'ai essayé avec Content Observer mais n'ai pas pu trouver l'URI de fournisseur de contenu pour GMail Inbox. J'essaye d'une autre façon en établissant ua client. Mon client est configuré, mais je ne sais pas comment instancier ce client pour frapper le serveur GMail.Comment lancer l'application Android pour parler avec un compte GMail?

Voici mes code:

GMailInbox.java

package com.tyco.gmailApp; 

import android.app.Activity; 
import android.content.Intent; 
import android.os.Bundle; 

public class GmailInbox extends Activity { 
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) 
    { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     //GmailObserver go = new GmailObserver(); 
     //this.getApplicationContext().getContentResolver().registerContentObserver(Uri.parse("content://imap.gmail.com"), true, go); 

     Intent myService = new Intent(this,GMailService.class); 
     myService.putExtra("user", "[email protected]"); 
     myService.putExtra("password", "brooklyn"); 
     startService(myService); 
    } 
} 

GMailService.java

package com.tyco.gmailApp; 


import java.util.Properties; 
import android.app.Service; 
import android.content.Intent; 
import android.os.IBinder; 
import android.view.inputmethod.InputMethodSession; 
import android.view.inputmethod.InputMethod.SessionCallback; 
public class GMailService extends Service 
{ 

    private String mailhost = "imaps.gmail.com"; 
    private String user; 
    private String password; 

    @Override 
    public IBinder onBind(Intent intent){ 
     return null; 
    } 

    @Override 
    public void onCreate(){ 
     super.onCreate(); 


    } 

    @Override 
    public void onDestroy() { 
     super.onDestroy(); 
    } 

    @Override 
    public void onStart(Intent intent, int startId) { 
     super.onStart(intent, startId); 
     this.user = intent.getStringExtra("user"); 
     this.password = intent.getStringExtra("password");; 
     Properties props = new Properties(); 
     props = System.getProperties(); 
     props.setProperty("mail.store.protocol", "imaps"); 
     props.setProperty("mail.imaps.host", mailhost); 
     props.put("mail.imaps.auth", "true"); 
     props.put("mail.imaps.port", "993"); 
     props.put("mail.imaps.socketFactory.port", "993"); 
     props.put("mail.imaps.socketFactory.class", 
        "javax.net.ssl.SSLSocketFactory"); 
     props.put("mail.imaps.socketFactory.fallback", "false"); 
     props.put("mail.imaps.socketFactory.fallback", "false"); 
     props.setProperty("mail.imaps.quitwait", "false"); 


// I Don't Know what to do here 



    } 




} 

Je ne sais pas quoi faire après avoir recueilli toutes les informations en objet de propriétés. S'il vous plaît suggérer quelque chose.

Cordialement, Rahul Jaiswal

Répondre

1

Ajouter ce code pour se connecter avec le serveur de messagerie

Session session = Session.getDefaultInstance(props, null); 
    try{ 
     Store store = session.getStore("imaps"); 
     store.connect(mailhost, mailid,password);  
     Folder folder = store.getFolder("INBOX"); 
     folder.open(Folder.READ_ONLY); 
     int count=folder.getUnreadMessageCount(); 
     Message message[] = folder.getMessages(); 
     for (int i=0, n=message.length; i<n; i++) { 
       System.out.println("subject " +message[i].getSubject()); 
     } 
     } 
+0

J'ai essayé ce code, mais Session est une classe définie dans le paquet javax.mail qui ne sont pas pris en charge par Android. – Rahul

+0

J'ai ajouté mail-1.4_1.jar à mon projet. Maintenant, je reçois erreur suivante: javax.mail.MessagingException: hôte n'est pas résolu: imaps.gmail.com; exception imbriquée est: java.net.SocketException: hôte n'est pas résolu: imaps.gmail.com Je l'ai résolu en modifiant mon URL mailHost comme "imap.gmail.com" plutôt "imaps.gmail.com" – Rahul

Questions connexes