2016-06-01 10 views
0

私のデバイスがテスト対象のデバイスが特定の携帯電話番号にダイヤルするモジュールで作業しています。私はそのモバイルをUSB経由でローカルPCに接続しました(デバッグモードをONにしています)。 Ringing、InCALL、Disconnectedのようにリアルタイムでモバイルのステータスを監視する必要があります。アンドロイド携帯のライブステータスを通知するadbシェルコマンドはありますか? 私はLabviewアプリケーションでこのステータスを監視する必要があり、呼び出し音が鳴っている場合はそのステータスに基づいて呼び出しを受け入れるコマンドを送信したいと思います。 誰もがこのプロセスを自動化する最良の方法を提案できますか?リアルタイムデータのadbシェルコマンド

+0

あなたはringing、incall、disconnectedで特定のログについて 'adb shell logcat'をチェックしましたか?最終的にいくつかのイベントや関連するプリントがあります – Rilwan

答えて

0

のAndroidは、携帯電話の状態 で聴いているあなたの携帯電話での用途に意図ブロードキャストを送信する携帯電話の状態を受信するために、以下のユーザー権限 <uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission>

を追加

<receiver android:name=".IncomingCall"> <intent-filter> <action android:name="android.intent.action.PHONE_STATE" /> </intent-filter> </receiver>

電話ステータスを受信するための受信機のサービスを書きます

受信者を実装する

`public class IncommingCallReceiver extends BroadcastReceiver {
コンテキストコンテキスト。

@Override 
    public void onReceive(Context context, Intent intent){ 
     try{ 
     String state = intent.getStringExtra(TelephonyManager.EXTRA_STATE); 

      if(state.equals(TelephonyManager.EXTRA_STATE_RINGING)){ 
       Toast.makeText(context, "Phone Is Ringing", Toast.LENGTH_LONG).show(); 
      } 

      if(state.equals(TelephonyManager.EXTRA_STATE_OFFHOOK)){ 
       Toast.makeText(context, "Call Recieved", Toast.LENGTH_LONG).show(); 
      } 

      if (state.equals(TelephonyManager.EXTRA_STATE_IDLE)){ 
       Toast.makeText(context, "Phone Is Idle", Toast.LENGTH_LONG).show(); 
      } 
     } 
     catch(Exception e){e.printStackTrace();} 
    } 

} `

そして、上記の機能のonReceive方法は、あなたが受け取るためにコマンドを送信することができます呼び出します。

関連する問題