我已经在模拟器上测试了我的接收器并模拟了对模拟器的面部呼叫,并且可以记录电话状态甚至获取呼叫号码,但是如果我在真实设备上尝试这个,它就不起作用。我添加了一个活动,如果它在后台工作,它就可以工作。但我为什么要添加它?为什么必须在后台运行活动?
@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));
}
}