この質問に関する例を見てきましたが、試してみると、このコードでエラーが発生し、File f = new File(Uri.parse(uri.toString()));
Constructor File(Uri) is undefined とだけ表示されます。私は何日もこのエラーで立ち往生しています。他の人が働くことができるので、何が悪いのかわかりません。以下は推奨コードです
public class WiFiDirectBundle extends Serializable {
private String fileName;
private String mimeType;
private Long fileSize;
private byte[] fileContent;
public WiFiDirectBundle() {}
// adds a file to the bundle, given its URI
public void setFile(Uri uri) {
File f = new File(Uri.parse(uri.toString()));
fileName = f.getName();
mimeType = MimeTypeMap.getFileExtensionFromUrl(f.getAbsolutePath());
fileSize = f.length();
FileInputStream fin = new FileInputStream(f);
fileContent = new byte[(int) f.length()];
fin.read(fileContent);
}
// restores the file of the bundle, given its directory (change to whatever
// fits you better)
public String restoreFile(String baseDir) {
File f = new File(baseDir + "/" + fileName);
try {
FileOutputStream fos = new FileOutputStream(f);
if (fileContent != null) {
fos.write(fileContent);
}
fos.close();
return f.getAbsolutePath();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
public String getFileName() {
return fileName;
}
public String getMimeType() {
return mimeType;
}
public Long getFileSize() {
return fileSize;
}
}
そして、これは元の質問です: Androidでwifiダイレクトモードを介して転送されたファイルのファイル名を見つける方法は? また、私はWifi Directの初心者ですが、2つのデバイスをリンクしてファイルを転送することはできますが、より多くのデバイスをリンクしてファイルを転送したいです。