簡體   English   中英

如何在來電和去電過程中獲取電話號碼?

[英]How to get the phone number during an incoming and outgoing call?

我使用一個擴展 BroadcastReceiver 的類。 如何在來電或去電期間獲取電話號碼?

這是我的部門:

public class MyCallReceiver extends BroadcastReceiver {

    @Override
    public void onReceive(Context context , Intent intent) {
     
        if (intent.getStringExtra( TelephonyManager.EXTRA_STATE ).equals( TelephonyManager.EXTRA_STATE_OFFHOOK )) {
          //Call started

        } else if (intent.getStringExtra( TelephonyManager.EXTRA_STATE ).equals( TelephonyManager.EXTRA_STATE_IDLE )) {
           //Call ended

        } else if (intent.getStringExtra( TelephonyManager.EXTRA_STATE ).equals( TelephonyManager.EXTRA_STATE_RINGING )) {
             //Incoming call
            }
    } }

你可以通過這種方式得到它。

public class CallRecevier extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {
        try {
            TelephonyManager telephony = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
            telephony.listen(new PhoneStateListener() {
                @Override
                public void onCallStateChanged(int state, String phoneNumber) {
                    super.onCallStateChanged(state, phoneNumber);
                    if (state == 1 || state == 2) {
                        if (phoneNumber != null && !phoneNumber.equals("")) {
                           Tİmber.e("Call Number: %s",phoneNumber);
                        }
                    }
                }
            }, PhoneStateListener.LISTEN_CALL_STATE);
        } catch (Exception e) {
            Timber.e("Error: %s", e.getLocalizedMessage());
        }
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM