Androidエミュレーター内で着信コールを偽造するにはどうすればよいですか?
次の方法で電話をかけることができますが、できれば選択した番号からの呼び出しをエミュレータに強制的に受けさせたいと思います。
adb Shell am start -a Android.intent.action.CALL tel:1112223333
したがって、上記のコマンドの正反対。
EclipseでDDMSを使用できます。Android Device Monitor in Android Studioまたは端末でコマンドラインを実行
DDMSを使用:
その後、エミュレータが次のようにこの電話を受けることを確認します
コマンドラインを使用
$ telnet localhost 5554
$ gsm call 123456789
注:5554:エミュレーターインスタンスのコンソールポート番号
12345678:着信電話番号
これはPuTTYで実行できます。 PuTTYをダウンロードしてインストールします http://www.chiark.greenend.org.uk/~sgtatham/PuTTY/
ステップ1:PuTTYの実行
ステップ2:アドレスボックスに127.0.0.1を入力します
ポートボックスに、エミュレータが実行されているポート番号を入力します。エミュレータウィンドウの左上隅(通常は5554)にあります。タイプが「telnet」に設定されていることを確認してください。 「開く」をクリックします
ステップ3:ターミナルが開きます。タイプ:
gsm call <the number you want the phone to see>
Enterキーを押すと完了です。
編集:また、偽のSMSを送信することができます:
sms send <the number you want the phone to see> <the message>
eclipseを使用している場合、Eclipseメニューのこのウィンドウのエミュレーターコントロールを使用してこれを行うことができます。次に、他の小さなウィンドウをクリックしてビューを表示しますselect Androidその後、エミュレーターコントロール
エミュレータでの呼び出しに使用します
同じ動作をテストするもう1つのオプションは、実際の電話とGoogleの2段階認証設定を使用して呼び出しを生成することです(画像を参照)。
Telnetとnetcatを使用したUnixライクなシステムでの便利なワンライナー:
$ echo "gsm call 123456789" | nc -v localhost 5554
Androidエミュレートされたデバイス(AVD)でシミュレートされた呼び出しを取得するために最近チェックした3つのオプションがあります。
オプション1:
以下に示すように、エミュレートされたデバイスの「詳細」オプションに移動し、「デバイスの呼び出し」をクリックして、言及された番号から呼び出しを取得します。
オプション2:
エミュレートされたデバイスのUIを使用して、以下に示すように[設定]-> [システム]-> [エミュレートされたデバイスについて]に移動して、電話番号を確認します。他のデバイスからこの番号を呼び出します。
オプション3:
Androidデバイスモニター(例:Windows "C:\ Users\xyz\AppData\Local\Android\Sdk\tools"モニターの起動)を起動し、独自の着信番号を設定し、以下に示すように呼び出します
これを行うには、Telnet経由でエミュレータに接続します。
Open コマンドプロンプトを入力します
telnet localhost <console-port>
<console-port>
エミュレータのタイトルバーに。
上記のインスタンスによれば、私の<console-port>
は5554です。
Telnetを介してエミュレーターに接続した後、入力します
gsm call <telephone-number>
シェルスクリプトincoming_call.sh:
#!/bin/sh
expect << EOF
spawn telnet localhost 5554
expect -re ".*>"
send "gsm call $1\r"
expect -re ".*>"
send "exit\r"
EOF
使用法:
incoming_call.sh +55555555555