2012-03-27 1 views
1

J'ai téléchargé l'exemple de code de ce site pour le client FTP http://www.lysesoft.com/products/andftp/index.htmlAucune activité trouvée Exception

Mais quand je courais le projet, j'eu cette exception et est écrasé.

03-27 21:40:44.572: INFO/System.out(559): EEE : No Activity found to handle Intent { act=android.intent.action.PICK dat=ftp://192.168.20.128 typ=vnd.android.cursor.dir/lysesoft.andftp.uri (has extras) } 

Quelle est la cause de cette erreur? Quelqu'un peut-il me fournir un code android fonctionnant pleinement pour FTP.

Ceci est le code à télécharger.

Intent intent = new Intent(); 
       intent.setAction(Intent.ACTION_PICK); 
       // FTP URL (Starts with ftp://, sftp://, ftps:// or scp:// followed by hostname and port). 
       Uri ftpUri = Uri.parse("ftp://192.168.20.128"); 
       intent.setDataAndType(ftpUri, "vnd.android.cursor.dir/lysesoft.andftp.uri"); 
       // Download 
       intent.putExtra("command_type", "download"); 
       // FTP credentials (optional) 
       intent.putExtra("ftp_username", "anonymous"); 
       intent.putExtra("ftp_password", "[email protected]"); 
       //intent.putExtra("ftp_keyfile", "/sdcard/dsakey.txt"); 
       //intent.putExtra("ftp_keypass", "optionalkeypassword"); 
       // FTP settings (optional) 
       intent.putExtra("ftp_pasv", "true"); 
       //intent.putExtra("ftp_resume", "true"); 
       //intent.putExtra("ftp_encoding", "UTF-8"); 
       //intent.putExtra("ftps_mode", "implicit"); 
       // Activity title 
       intent.putExtra("progress_title", "Downloading files ..."); 
       // Remote files to download. 
       intent.putExtra("remote_file1", "/remotefolder/subfolder/file1.zip"); 
       intent.putExtra("remote_file2", "/remotefolder/subfolder/file2.zip"); 
       // Target local folder where files will be downloaded. 
       intent.putExtra("local_folder", "/sdcard/localfolder"); 
       intent.putExtra("close_ui", "true");  
       startActivityForResult(intent, DOWNLOAD_FILES_REQUEST); 

J'obtiens l'erreur à « startActivityForResult »

+0

Avez-vous installé l'application AndFTP? – Cristian

+0

Non, quel est le besoin pour cela – user1293519

Répondre

3

Man, vous devez installer AndFTP afin de pouvoir travailler avec FTP (sauf si vous implémentez la fonctionnalité FTP par vous-même). Laissez-moi deviner ce que vous avez fait: vous pensiez qu'en implémentant les extraits de code que vous avez trouvés sur le site web andFtp, vous alliez pouvoir utiliser FTP dans votre application.

Si j'ai deviné juste, alors vous ne comprenez pas complètement comment fonctionne Android et ce que vous avez à faire pour utiliser FTP. Donc, ce que fait etFTP est d'offrir certaines activités qui peuvent être utilisées par des applications externes pour utiliser FTP. Cependant, pour que cela fonctionne l'application andFTP doit être installée.

C'est pourquoi vous obtenez une exception ActivityNotFound. Voici donc vos seuls deux choix:

  • Soit vous mettre en œuvre toutes les choses FTP par votre auto (et oublier AndFTP)
  • Ou vous attraper ce genre d'exceptions et affiche un message à l'utilisateur en leur disant que ils doivent installer et FTP afin que votre application puisse fonctionner correctement.
0

Avez-vous vérifié que l'activité est listé dans le manifeste Android? Cela causerait ce genre d'erreur.

+0

oui j'ai une seule activité et il est listé dans le Manifeste. – user1293519

+0

avez-vous ajouté ce filtre d'intention à votre activité principale? < données android: mimeType = "vnd.android.cursor.dir/lysesoft.andftp.uri" /> cuneytyvz

+0

Oui, je l'ai ajouté mais plante toujours. – user1293519

0

Tout d'abord, vous devez définir votre activité dans le fichier AndroidManifest.xml. Si vous utilisez une activité qui fonctionne dans votre application Android, vous devez définir dans le fichier AndroidManifest.xml.

+0

Je n'ai qu'une seule activité et je l'ai déclarée dans le fichier manifeste. – user1293519

Questions connexes