2016-06-01 5 views
0

Я работаю над модулем, в котором тестируемое устройство набирает вызов на определенный номер мобильного телефона. Я подключил этот мобильный телефон к локальному ПК через USB (с включенным режимом отладки). Мне нужно следить за состоянием мобильного телефона в режиме реального времени, например, звонка, InCALL, Disconnected. Есть ли команда adb shell, которая сообщает о реальном статусе телефона Android? Мне нужно отслеживать этот статус в приложении Labview и на основании статуса, если он звонит. Я хочу отправить команду для принятия вызова. Может ли кто-нибудь предложить лучший способ автоматизации этого процесса?Команда adb shell для данных в реальном времени

+0

Вы проверили 'adb shell logcat' для каких-либо конкретных журналов при звонке, включении, отключении? Определенно будут происходить некоторые события или связанные с ними отпечатки – Rilwan

ответ

0

Android отправить пристальный Broadcast для приложений в телефоне, которые слушают в статусе телефона Добавить разрешения Следующего пользователя получить состояние телефона <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>

Внедрение приемника

`открытый класс IncommingCallReceiver расширяет 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 метод выше вызова функции вы можете отправить команду получить.