Android TelephonyManager在片段中返回null

Android TelephonyManager在片段中返回null,android,telephonymanager,Android,Telephonymanager,我正在尝试从我的应用程序中的电话管理器获取设备Id,但遇到空指针异常。我调试了它,实例化时TelephonyManager对象为null。我找到了一些解决方案,但我已经做了所有这些事情。我也在清单文件中给予了适当的许可 这是我的密码 TelephonyManager TM=(TelephonyManager)getActivity. getSystemService(android.cotent.Context.TELEPHONY_SERVICE); id=TM.getDeviceId();

我正在尝试从我的应用程序中的电话管理器获取设备Id,但遇到空指针异常。我调试了它,实例化时TelephonyManager对象为null。我找到了一些解决方案,但我已经做了所有这些事情。我也在清单文件中给予了适当的许可

这是我的密码

TelephonyManager TM=(TelephonyManager)getActivity. getSystemService(android.cotent.Context.TELEPHONY_SERVICE);
id=TM.getDeviceId();
舱单中的许可

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


的javadoc表示,如果它不是受支持的系统服务,则可能返回null。因此,在这种情况下,您应该始终检查null并相应地处理它。

我检查了它,它返回trueUm,不,您没有。除非您显示了错误的代码。我使用hasSystemFeature进行了检查,它返回true您仍然没有显示代码。我不知道您正在检查什么,也不知道您希望发生什么。
PackageManager pm=this.getPackageManager();布尔hasTelephony=pm.hasSystemFeature(PackageManager.FEATURE\u电话)hasTelephony返回true