Android の ftp クライアントを使用して、drivehq ftp サーバーからディレクトリ リストを取得しようとすると、接続拒否例外が発生します。私を助けて、私の問題を解決してください。この目的のための私のコードを以下に示します。また、実際のデバイス samsang galaxy mobile でテストしています。はい、これらの権限を追加しました
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
<uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS"/>
public void login(String host,String username,String password,int port)
{
try
{
ftpClient.connect(host);
ftpClient.login(username, password);
ftpClient.changeWorkingDirectory("/MyData");
ftpClient.setFileType(FTP.BINARY_FILE_TYPE);
ftpClient.enterLocalPassiveMode();
} catch (SocketException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public ArrayList<File> getDirectoryListing()
{
ArrayList<File> list=new ArrayList<File>();
FTPFile[] files = null;
try
{
Log.d(ftpClient.printWorkingDirectory(), "is working directory");
files=ftpClient.listFiles();
for(FTPFile f:files)
{
String s=f.getName();
Log.d(s, "is file");
File fs=new File(s);
list.add(fs);
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return list;
}