2

我正在使用以下 android 代码来获取手机号码,它仅适用于 android 模拟器:

TelephonyManager tm =(TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
String number = tm.getLine1Number();

但是当我在真实设备(Samsung Galaxy Chat B5330)中测试它时,它什么也没给出(空字符串)

请帮助一些代码片段。

4

3 回答 3

5

对于 GSM,电话号码在 SIM 卡上,有些运营商只是不把它放在卡上,然后手机不知道它是什么,但在这种情况下你应该得到一个空字符串而不是 null

如果运营商将号码存储在您的 SIM 卡上,请转至Settings -> About Phone -> Status -> My phone Number。如果它显示unknown在那里,则您的号码未存储在 SIM 卡上。

在此处输入图像描述

获取IMEI使用:

TelephonyManager tm =(TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
imei_no = tm.getDeviceId(); 
于 2013-05-02T08:54:36.617 回答
1

您必须使用电话管理器;如果您根本没有找到联系电话。用户的;您可以使用相同的电话管理器类获取 SIM 卡的 SIM 序列号和 Android 设备的 Imei 号...

添加权限:

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

进口:

import android.telephony.TelephonyManager;

使用以下代码:

TelephonyManager tm = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);

         // get IMEI
         imei = tm.getDeviceId();

         // get SimSerialNumber
         simSerialNumber = tm.getSimSerialNumber();
于 2014-01-29T06:28:44.687 回答
1

添加权限

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

看到这个

于 2013-05-02T08:50:44.753 回答