私が持っているもの:デバイスの状態をチェックしている機能。ここで、READ_PHONE_STATE
自分の番号に音声通話がかかってきたときに実行したい関数を配置しましたが、思い通りに機能せず、アプリケーションを強制的に閉じます。これが私のコードです:
public void readPhoneState() {
// Create a new PhoneStateListener
listener = new PhoneStateListener() {
@Override
public void onCallStateChanged(int state, String incomingNumber) {
switch (state) {
case TelephonyManager.CALL_STATE_IDLE:
Log.e("DEBUG", "IDLE");
break;
case TelephonyManager.CALL_STATE_OFFHOOK:
Log.e("DEBUG", "OFF_HOOK");
break;
case TelephonyManager.CALL_STATE_RINGING:
myFunction();
break;
}
}
};
// Register the listener with the telephony manager
telephonyManager.listen(listener, PhoneStateListener.LISTEN_CALL_STATE);
}
この関数を で実行したいだけですPHONE_STATE_RINGING
。これを達成する方法は?