[英]C# Code does not work for android phone (net 3.5)
我有一個程序,運行該程序時,會將所有圖像從連接的iPhone復制到文檔中的文件夾中。 我的問題是我想使其與Android手機兼容。 我個人沒有一個,但我嘗試使用我的android平板電腦,但它無法正常工作,因此我認為android手機無法正常工作。 還要注意的另一件事是,我是從我發表的另一篇文章中得到的,所以我並不是100%的每一步代碼。 我以為將制造商和說明更改為平板電腦上的內容,但這沒用,有人能幫忙嗎? 甚至自己嘗試使用Android手機? 我也知道,即使在android系統上,它也只會復制以IMG開頭的圖像。
public partial class Frm_Main : Form
{
public Frm_Main()
{
InitializeComponent();
}
public static class WiaCopy
{
public static IEnumerable<IDeviceInfo> GetAppleDevices()
{
return new DeviceManager().DeviceInfos.Cast<IDeviceInfo>().Where(di =>
di.Type == WiaDeviceType.CameraDeviceType
&& di.Properties["Manufacturer"].get_Value().ToString() == "Apple Inc."
&& di.Properties["Description"].get_Value().ToString() == "Apple iPhone");
}
public static IEnumerable<Item> GetImgItems(IDeviceInfo deviceInfo)
{
var device = deviceInfo.Connect();
return device.Items.Cast<Item>().Where(i => i.Properties["Item Name"].get_Value().ToString().StartsWith("IMG"));
}
public static void TransferJpgItem(Item item, string path)
{
var itemName = item.Properties["Item Name"].get_Value();
if (!item.Formats.Cast<string>().Contains(FormatID.wiaFormatJPEG))
{
Console.WriteLine("Unexpected formats for item {0}, skipping.", itemName);
return;
}
var targetName = itemName + ".jpg";
Directory.CreateDirectory(path);
ImageFile file = (ImageFile)item.Transfer(FormatID.wiaFormatJPEG);
Console.WriteLine("Copying {0}", targetName);
file.SaveFile(Path.Combine(path, targetName));
}
}
private void Copy()
{
{
try
{
var savePath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.MyPictures), "Documents");
foreach (var iPhone in WiaCopy.GetAppleDevices())
{
foreach (var imgItem in WiaCopy.GetImgItems(iPhone))
{
WiaCopy.TransferJpgItem(imgItem, Path.Combine(savePath, iPhone.Properties["Name"].get_Value().ToString()));
}
}
}
catch { }
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.