エミュレーターで受信機をテストし、エミュレーターへの顔通話をシミュレートし、電話の状態をログに記録して発信番号を取得することもできますが、実際のデバイスでこれを試しても機能しません。アクティビティを追加しましたが、バックグラウンドで動作している場合は動作します。しかし、なぜそれを追加する必要があるのですか? アクティビティをバックグラウンドで実行する必要があるのはなぜですか?
@Override
public void onReceive(Context cnx, Intent nt) {
Bundle bnd = nt.getExtras();
Log.e("EXTRA", "EXTRA");
if (bnd != null) {
String state = bnd.getString(TelephonyManager.EXTRA_STATE);
Log.i("PHONE STATE", state);
if (state.equals(TelephonyManager.EXTRA_STATE_RINGING)) {
Log.i("PHONE STATE",
bnd.getString(TelephonyManager.EXTRA_INCOMING_NUMBER));
}
}