我已经从此站点下载了FTP客户端http://www.lysesoft.com/products/andftp/index.html的示例代码。

但是当我运行项目时,我遇到了这个异常并崩溃了。

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) }


这是什么原因呢?
谁能为我提供FTP的完整运行android代码。

这是下载代码。

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);


我在“ startActivityForResult”时遇到错误

最佳答案

是的,您需要安装AndFTP才能使用FTP(除非您自己实现FTP功能)。

让我猜猜您做了什么:您认为通过实现在andFtp网站上找到的代码片段,您将能够在应用程序中使用FTP。

如果我猜对了,那么您将不完全了解Android的工作原理以及使用FTP所要做的事情。因此,andFTP所做的是注册提供了一些活动,这些活动可以由外部应用程序使用以使用FTP。但是,为了使其正常运行,必须安装andFTP应用程序。

这就是为什么出现ActivityNotFound异常的原因。因此,这是您仅有的两个选择:


您可以自己实现所有FTP内容(而不必理会andFTP)
或者,您捕获到此类异常并向用户显示一条消息,告诉他们必须安装andFTP才能使您的应用正常运行。

10-04 20:03