2016-06-01 9 views
0

Ich arbeite an einem Modul, in dem mein zu testendes Gerät einen Anruf zu einer bestimmten Handynummer wählt. Ich habe dieses Handy über USB mit dem lokalen PC verbunden (mit Debugging-Modus ON). Ich muss den Status des Handys in Echtzeit wie Klingeln, InCALL, Disconnected überwachen. Gibt es einen AdB Shell-Befehl, der den Live-Status des Android-Telefons anzeigt? Ich muss diesen Status in Labview-Anwendung überwachen und basierend auf dem Status, wenn es klingelt Ich möchte Befehl senden, um den Anruf anzunehmen. Kann jemand die beste Methode vorschlagen, um diesen Prozess zu automatisieren?adb Shell Befehl für Echtzeitdaten

+0

Haben Sie "adb shell logcat" für bestimmte Protokolle bei klingeln, incall, getrennt? Definitiv wird es einige Ereignisse oder verwandte Drucke geben – Rilwan

Antwort

0

Android senden Absicht Broadcast-Anwendungen in Ihrem Telefon die Fügen Sie die folgenden Benutzerberechtigung bei den Telefonstatus hören Telefonstatus zum Empfangen Telefonstatus

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

<uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission>

Schreiben Sie einen Empfänger-Service zu erhalten

Implementieren Sie den Empfänger

`öffentliche Klasse IncommingCallReceiver erweitert BroadcastReceiver {
Kontext Kontext;

@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();} 
    } 

} `

Dann OnReceive Verfahren der obigen Funktion aufrufen Sie Befehl senden kann, empfangen.