使用adb的电话号码和发送SMS无效-C#AndroidLib

时间:2019-02-12 13:50:47

标签: c# android adb

我正在尝试通过C#应用向Android手机发送adb命令,并做一些简单的事情,例如发送短信或电话号码。

我正在从以下位置使用AndroidLib: https://github.com/regaw-leinad/AndroidLib

它有一个名为phone的类,您可以将adb命令发送到设备。拨号号码命令运行正常。我已经在装有Android 4.2和7的两种不同设备上进行了测试,这是它的方法:

public void DialPhoneNumber(string phoneNumber)
{
    if (this.device.State != DeviceState.ONLINE)
        return;

    AdbCommand adbCmd = Adb.FormAdbShellCommand(this.device, false, "service", "call", "phone", "1", "s16", phoneNumber);
    Adb.ExecuteAdbCommandNoReturn(adbCmd);
}

如您所见,命令是:"service call phone 1 s16 phoneNumber 它可以正常工作,并且会在输入了号码的设备上弹出拨号页面。

但是对于呼叫或发送短信,它根本不起作用。也不会给我一个错误,似乎正在工作。这是调用方法:

public void CallPhoneNumber(string phoneNumber)
{
    if (this.device.State != DeviceState.ONLINE)
        return;

    AdbCommand adbCmd = Adb.FormAdbShellCommand(this.device, false, "service", "call", "phone", "2", "s16", phoneNumber);
    Adb.ExecuteAdbCommandNoReturn(adbCmd);
    adbCmd = Adb.FormAdbShellCommand(this.device, false, "input", "keyevent", (int)KeyEventCode.BACK);
    Adb.ExecuteAdbCommandNoReturn(adbCmd);
}

此方法中的KeyEventCode.Back执行得很好,但是调用命令没有执行。

调用命令是否有问题?发送短信的命令是什么? 我使用service call isms 6 s16 "+??????????" i32 0 i32 0 s16 "SMS TEXT HERE"命令发送短信,但也没有成功。

0 个答案:

没有答案