我试图通过两种方式在Android中调用状态期间获取电话号码。 以下是代码: 第一种方式是
public void onReceive(Context context, Intent intent)
{
mContext = context;
mIntent = intent;
Bundle bundle = intent.getExtras();
mPhoneNumber= bundle.getString("incoming_number");
TelephonyManager telephonyManager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
telephonyManager.listen(new CustomPhoneStateListener(context), PhoneStateListener.LISTEN_CALL_STATE);
}
第二种方式是
public class CustomPhoneStateListener extends PhoneStateListener
{
//private static final String TAG = "PhoneStateChanged";
Context context; //Context to make Toast if required
public CustomPhoneStateListener(Context context) {
super();
this.context = context;
}
@Override
public void onCallStateChanged(int state, String incomingNumber)
{
super.onCallStateChanged(state, incomingNumber);
Log.d("Number", incomingNumber);
}
}
但是,我无法通过两种方式获得电话号码。当我执行这些代码时,mPhoneNumber
在第一种方式中为空,而incomingNumber
在第二种方式中为空。
我按照了示例代码
How to get phone number from an incoming call?。
请帮我解决我的错误?