Можно ли запустить файл .vcf с помощью adb & C # - PullRequest
1 голос
/ 28 марта 2019

Я отправил файл .vcf с моего компьютера на устройство Android; Я хочу запустить этот файл и импортировать все контакты на устройство с помощью оболочки adb.

Это моя функция C #:

private void adbcommand (string command)
        {
            Process process = new Process();
            ProcessStartInfo startInfo = new ProcessStartInfo();
            startInfo.WindowStyle = ProcessWindowStyle.Hidden;
            startInfo.CreateNoWindow = true;
            startInfo.UseShellExecute = false;
            startInfo.RedirectStandardOutput = true;
            startInfo.FileName = @"D:\ADB\adb.exe";
            startInfo.Arguments = command;
            process.StartInfo = startInfo;
            process.Start();


            Console.WriteLine(process.StandardOutput.ReadToEnd());
            process.Close();
        }

1 Ответ

0 голосов
/ 29 марта 2019
private void button4_Click(object sender, EventArgs e)
        {
            adbcommand("shell pm clear com.android.providers.contacts");

            adbcommand("shell mkdir /sdcard/contacts/");
            string contactsFilePath = @"D:\mycontact.vcf";
            adbcommand("push "+ contactsFilePath + " /sdcard/contacts/");
            adbcommand("shell am start -t text/x-vcard -d file:///sdcard/contacts/mycontact.vcf -a android.intent.action.VIEW com.android.contacts");

private void adbcommand (string command)
        {
            Process process = new Process();
            ProcessStartInfo startInfo = new ProcessStartInfo();
            startInfo.WindowStyle = ProcessWindowStyle.Hidden;
            startInfo.CreateNoWindow = true;
            startInfo.UseShellExecute = false;
            startInfo.RedirectStandardOutput = true;
            startInfo.FileName = @"D:\ADB\adb.exe";
            startInfo.Arguments = command;
            process.StartInfo = startInfo;
            process.Start();


            Console.WriteLine(process.StandardOutput.ReadToEnd());
            process.Close();
        }

    }
...