在Android中的通话状态期间获取电话号码

时间:2016-01-21 15:46:25

标签: android

我试图通过两种方式在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?。 请帮我解决我的错误?

0 个答案:

没有答案