USBデバッグとユーザー入力を使用できます。
まず、USBデバッグを有効にします。お使いのAndroidのバージョンとデバイスモデルによっては、通常の設定アプリのどこかのオプションか、「ステータス」の下のビルド番号を7回タップしてアクセスできる非表示のdeveloper modeのいずれかになります。また、初めてこの機能で何かをしようとすると、コンピュータからのアクセスを許可するよう求められることがあります。
次に、ADB and any driver needed for your device(ある場合)をダウンロードします。 ADBはデバッグコマンドをデバイスに送信するためのコマンドラインツールです。
コンソールでadb devices
を使用して、動作しているかどうかを確認することができます。デバイスがリストされているはずです。
受信者とテキストが既に入力されている(これはサポートされている動作です)SMSアプリケーションを起動して、[送信]をクリックしてユーザーを偽装することになりました。これは厄介な部分がある場所です。あなたのデバイスによっては、例えば、私の場合とは異なるキー入力が必要な場合があります。通常は、1つまたは複数のDパッドプレスと「Enter」を送信する必要があります(これは、デバイスにDパッドがない場合でも有効です)。あなたが必要と
コマンド:
adb shell am start -a android.intent.action.SENDTO -d sms:<full phone number here> --es sms_body "<SMS text here>" --ez exit_on_sent true
これは、すでに入力された値とのSMSアプリを開き、電話番号に<full phone number here>
を交換し、あなたのテキストを<SMS text here>
ます。テキストの中で引用符を使用する必要がある場合は、\"
のようにエスケープする必要があります。
adb shell input keyevent <id>
これにより、偽のキー入力が送信されます。可能なIDはhereです。特に興味深いのは、以下のとおりです。
19
:D-パッドにアップ
20
:ダウンD-パッド
21
:D-パッドは
22
左:D-パッドを右
23
:D-パッドの中央
66
:
を入力します。 これで遊ぶ必要があります。 「右」または「下」のプレスをシミュレートして「送信」ボタンをフォーカスし、次に23
または66
をシミュレートするには、22
または20
を送信して、Dパッドセンターのプレスをシミュレートするか、ボタンをクリックするキーを入力する必要があります。
ので、例えば、それは次のようになります。
adb shell am start -a android.intent.action.SENDTO -d sms:+4365--es sms_body "This is a test" --ez exit_on_sent true
adb shell input keyevent 20
adb shell input keyevent 66
この数+4365
とThis is a test
が既に入力されたテキストでSMSアプリを開き、「ダウン」キーをシミュレートします「Enter」キーを押します。
しばらくお待ちください。各コマンドの間にいくつかの遅延(少なくとも1秒)を追加します。
素晴らしい、しかしかなり複雑に見えます。私はそれを試してみるかもしれないが、私の上司は最初にそれに時間を取らせなければならないだろう。 – Luke
あなたが送信するキーイベントを見つけたら、それはかなり簡単です(それはおそらく20 + 66または22 + 66のいずれかになります)。私はちょうどそれを詳細に説明しようとしましたが、一言で言えば、ADB +ドライバをインストールし、キーイベントを見つけ出し、それを持っているだけです。 – CherryDT