2016-06-01 3 views
0

테스트중인 장치가 특정 휴대 전화 번호로 전화를 걸기 모듈에서 작업 중입니다. 필자는 USB를 통해 로컬 PC에 해당 모바일을 연결했습니다 (디버깅 모드 ON). Ringing, InCALL, Disconnected와 같이 모바일 상태를 실시간으로 모니터링해야합니다. 안드로이드 폰의 라이브 상태를 알려주는 adb 쉘 명령이 있습니까? Labview 응용 프로그램에서이 상태를 모니터링해야하며 상태가 울리는 경우 전화를 받아들이도록 명령을 보내려고합니다. 아무도이 프로세스를 자동화하는 가장 좋은 방법을 제안 할 수 있습니까?실시간 데이터에 대한 adb 쉘 명령

+0

ringing, incall, disconnected에서 특정 로그에 대해'adb shell logcat'을 확인 했습니까? 일부 이벤트 또는 관련 지문이 최종적으로있을 것입니다. – Rilwan

답변

0

안드로이드 전화 상태

<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>

를받을 추가 다음과 같은 사용자 권한 전화 상태에서 듣고있는 귀하의 휴대 전화에서 응용 프로그램에 의도 브로드 캐스트를 보낼 수

수신자 구현

`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 방법은 당신이받을 명령을 보낼 수 있습니다 호출합니다.