簡體   English   中英

C#代碼不適用於android手機(net 3.5)

[英]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 { }
        }
    }

我在網上看不到任何表明WIA支持Android手機(就此而言,也沒有iPhone)的信息。

我認為您需要一種替代方法,

從C#Windows應用程序讀取/寫入三星Android手機/平板電腦

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM