我正在开发一个模块,我的被测设备将拨打特定手机号码。我已通过USB将该移动设备连接到本地PC(调试模式为ON)。我需要实时监控移动设备的状态,如Ringing,InCALL,Disconnected。是否有任何adb shell命令告诉Android手机的实时状态? 我需要在Labview应用程序中监视此状态,并根据状态振铃我想发送命令接受呼叫。 有人能建议自动化这个过程的最佳方法吗?
答案 0 :(得分: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扩展了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方法调用上面的函数你可以发送命令来接收。