0

目的: Android 6.0.1 デバイスで Android uiautomator を使用して通話関連のシナリオを自動化したい。ただし、incall 画面で UI 階層を取得できません (Mute、Spearker On、Keypad、Addcall など)。

注:私はappiumサーバーを使用していません

エラー: 「UI 階層の取得中にエラーが発生しました」理由: UI 階層 XML ファイルの取得中にエラーが発生しました: com.android.ddmlib.SyncException: リモート オブジェクトが存在しません!

所見:

  1. adb devices はデバイスをリストしており、/data/local/tmp/ ディレクトリにアクセスできます
  2. デバイスの再起動、PCの再起動、uiautomatorviewerの再起動
  3. adb shell input tap x y動作しています(ただし、スクリプトファイルで座標を使用したくない)

「ミュート」、「ミュート解除」、「dtmf キーパッドの数字を押す」、「スピーカー オン」、「スピーカー オフ」などの電話アプリの通話シナリオを自動化するための解決策を見つけるのを手伝ってください。

adb を介してそのようなアクションを実行する方法はありますか?

4

1 に答える 1

0

adb コマンドを呼び出すだけで、呼び出し元サービスを呼び出すことができます。

ADB から番号をダイヤルする (発信しない) には、次の ADB シェル コマンドを実行します。

$ adb shell service call phone 1 s16 "9302939203"
Result: Parcel(00000000    '....')

ADB から呼び出すには、サービス コマンドの呼び出し方法を変更するだけです。

$ adb shell service call phone 2 s16 "1" s16 "9302939203"
Result: Parcel(00000000    '....')

ADB から電話をかけるための代替コマンドもあります。

$ adb shell am start -a android.intent.action.CALL -d tel:9302939203
Starting: Intent { act=android.intent.action.CALL dat=tel:xxxxxxxxxxx }
于 2016-09-15T09:07:20.067 に答える