- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我想知道如何从 sim 卡而不是 sim 序列号获取实际电话号码。我也尝试过 (manager.getLine1Number) 但它给了我 null。
最佳答案
引用:How to get the mobile number of current sim card in real device?
TelephonyManager tm = (TelephonyManager)getSystemService(TELEPHONY_SERVICE);
String number = tm.getLine1Number();
The documentation for getLine1Number()表示如果该号码“不可用”,此方法将返回 null,但它没有说明该号码何时可能不可用。
您需要提供 application permission通过将以下内容添加到您的 list 来进行此查询:
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
(您不应使用 TelephonyManager.getDefault() 来获取 TelephonyManager,因为这是一个私有(private)的未记录的 API 调用,将来可能会更改。)
OR
引用:TelephonyManager give me null
> getLine1Number(); returns whatever is stored on the SIM card's MSISDN,
> which isn't filled by some operators.
在您的情况下,我非常确定 MSISDN 未填写。
你应该记住一件事。
getLine1Number() 有时会返回空值或返回 SIM 卡中最初存储的电话号码。
关于android - 使用 telephonymanager 从 sim 卡获取电话号码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52041818/
最近我在尝试使用 Android 设备获取相邻小区的信息。而且我试过很多品牌的安卓手机,比如三星,htc。结果只是Htc可以得到邻区信息。我使用的函数是 TelephonyMananger.getNe
我正在使用下面的代码结束通话。但现在在 Oreo 上,我收到一个错误,指出需要 MODIFY_PHONE_STATE 权限,因此此代码不再有效。 TelephonyManager telephon
TelephonyManager 中定义了许多网络类型: NETWORK_TYPE_GPRS NETWORK_TYPE_EDGE NETWORK_TYPE_UMTS NETWORK_TYPE_CDMA
我在开发应用程序时需要电话号码。因此,我使用了 TelephonyManager,如下所示: TelephonyManager tmgr =(TelephonyManager)getApplicati
我似乎无法在 android 中声明 TelephonyManager,这就是我想要做的: TelephonyManager tele = Context.getSystemService(Conte
我正在生成一个用于混淆信息的 key 。 该 key 必须在设备之间更改,因此对于我使用的一代: Secure.getString(getContentResolver(), Secure.ANDRO
我对 TelephonyManager 有疑问。 DeviceId 为空/空白。这是我的代码。我哪里错了? 这是我的java代码 RegistryActivity.java package andro
我有一个类,一个电话状态的监听器。在此,当调用断开此线路时, case TelephonyManager.CALL_STATE_IDLE: Log.e(TAG, "CALL_STATE_IDLE");
我处于一种情况,我必须通过 GSMCellLocation 获取位置,即经度和纬度,因此我正在尝试以下方式: ... TelephonyManager tm = (TelephonyManag
我在振铃状态时得到一个电话号码,但有时在摘机状态时将其设置为空。我无法捕捉到它变成空的那一刻。 因此,当有电话打来(来电)时,它会进入振铃状态,并且号码会设置为 callno 变量。之后,当我接听电话
我希望我的应用在 networkType 更改时自动通知用户(例如从 EDGE 到 3G 或 3G 到 1XRTT 等)。使用 getNetworkType() 方法,我必须不断检查 networkT
如果数据连接不可用(因此 Geocoder 不起作用),我想找出用户当前所在的国家/地区。我想我可以通过使用 TelephonyManager.getNetworkCountryIso 在手机(不是平
我添加了这是我的 list 文件 - 那我的服务类是这样的—— public class Service
我刚刚接触 Android 开发,并决定我在这个新领域的第一个征服将是掌握手机对来电的 react 。 后来我用谷歌搜索了一下 http://www.compiletimeerror.com/2013
根据 Android 文档,它表示 getCellLocation API 调用将在未来弃用。有谁知道为什么它会被弃用?如果这是弃用,那么是否有其他替代方法来获取小区位置信息? Reference 最
我想知道如何从我的 android 应用程序中获取设备/用户区号我知道有一个名为 TelephonyManager 的库,但我找不到国家代码功能 为了让自己清楚:我有一个 Activity 要求用户输
我想获取安卓设备的电话号码。我使用此代码: TelephonyManager tm = (TelephonyManager)this.getApplicationContext().getSystem
以下更改发布 here ,getNetworkType 方法已从 Android R 及以后版本弃用。 在 R 编译的应用程序中尝试使用此方法时,会导致抛出以下异常: java.lang.Securi
我制作了一个音乐播放器应用程序,并在电话被调用时暂停歌曲,我使用此代码。 但这需要 READ_PHONE_STATE 权限,这可能会吓跑一些用户,所以我想知道是否可以通过另一种方式实现同样的事情而
我正在实现一个支付应用程序。因此,为了进行联系验证,我必须找到联系电话。我还从 sim 发送短信以在服务器上进行交叉验证。我试过了 > TelephonyManager tm = > (Telepho
我是一名优秀的程序员,十分优秀!