android - 获取所有安卓版本的来电电话号码

标签 android phone-number telephonymanager phone-state-listener

我正在尝试获取来电的来电号码。我搜索并找到了这个 Retrieve incoming call's phone number in Android . 我的问题是我无法在 4.0.3 以上的版本中“来电”。 如果我做错了什么,或者如何在 4.0.3 以上版本中获取来电号码,请指导我。 提前致谢。 这是代码:

TelephonyManager telephony = (TelephonyManager)context.getSystemService(Context.TELEPHONY_SERVICE);
telephony.listen(new PhoneStateListener(){
   public void onCallStateChanged(int state, String incomingNumber) {
       super.onCallStateChanged(state, incomingNumber);
          switch (state) {
              // not getting incoming number in latest version of android
              Log.e(Utils.TAG, "incomingNumber: "+incomingNumber);
          }
    }
},PhoneStateListener.LISTEN_CALL_STATE);

最佳答案

在您的 list 中创建一个接收器:

<receiver android:name=".PhoneState">  
    <intent-filter>
         <action android:name="android.intent.action.PHONE_STATE"/> 
    </intent-filter>
</receiver>

添加此权限:

<uses-permission android:name="android.permission.READ_PHONE_STATE" />

创建广播接收器:

public class PhoneState extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {

        TelephonyManager tm = (TelephonyManager)context.getSystemService(Service.TELEPHONY_SERVICE); 

        switch (tm.getCallState()) {

            case TelephonyManager.CALL_STATE_RINGING:
                    String phoneNr= intent.getStringExtra("incoming_number");
                    Toast.makeText(context, phoneNr,Toast.LENGTH_LONG).show();
                    break;
        } 
    }
}

关于android - 获取所有安卓版本的来电电话号码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19005642/

相关文章:

android - 关于从服务器检索大量数据(近 10,000 多条记录),给我一个提高我的应用程序性能的建议?

java - Flutter build apk 命令抛出错误并且未构建 apk

phone-number - 电话号码前缀

android - 在 Android 中获取我调用的号码

android - TelephonyManager 为 IMEI 号码 : what can cause this? 返回 null

java - 在自定义日历中实现 ViewPager

android - Facebook Javascript SDK 和 Phonegap URL 错误

javascript - jquery 中的电话号码验证

Android - 使用通过请求发送的预定输入浏览 USSD 菜单

android - 无法在 android 2.2 中检索电话号码