Android模拟器:设置移动设备号码?

8

有人知道是否可以设置模拟器的手机号码吗?我无法在任何地方找到相关信息。谢谢。

7个回答

4

本文末尾提供的电话号码基本上可以完全控制:

http://blog.talosintel.com/2013/04/changing-imei-provider-model-and-phone.html

前7位数字是可配置的,后4位数字必须是16个允许的端口号之一。

事实证明,电话号码存储在SIM卡上。由于没有实际的SIM卡,因此需要模拟一个。这个模拟的SIM卡被硬编码在emulator-arm二进制文件中。替换1555521的原因是因为SIM卡有一个规范,不会以纯文本形式存储MSISDN(移动用户综合业务数字网号码,也就是电话号码)。相反,每组数字都会以某种反向nibbled endianness的噩梦方式进行交换。

... 查找MSISDN的快速方法是在二进制文件中搜索 %d%df%d (以下用红色突出显示)。对应的源代码在当前repo的external/qemu/telephony/sim_card.c的第436行。以下是sprintf的格式字符串部分:

"+CRSM:144,0,ffffffffffffffffffffffffffffffffffff0781515525%d1%d%df%dffffffffffff"

有趣的部分是515525%d1(蓝色突出显示)。交换每组两个数字会产生1555521%d(再次感谢CodePainters)。这看起来像我们的手机号码前缀。请在十六进制编辑器中进行编辑。

2

1
你可以在模拟器中模拟接收短信和电话(使用模拟器的端口),但是这只是模拟,你无法设置设备号或其他信息。如果需要实现这种功能,你需要使用真实设备。

你能提供相关信息的来源吗?@ferostar - Richard Miller

1

我发现每个模拟器都有一个电话号码。如果您运行两个模拟器,您可以从一个模拟器打电话给另一个模拟器。要查找这些电话号码,您可以在终端窗口中运行:

Path\To\Your\Android\Sdk\platform-tools>adb devices
List of devices attached
emulator-5554   device
emulator-5556   device

第一个电话号码是+15555215554,第二个是+15555215556,即电话号码前缀为+1555521,后面跟着模拟器后缀55545556


有没有办法更改电话号码? - Nayan
@Nayan,你可以试一下这个 https://proandroiddev.com/android-emulator-change-your-sim-card-number-8c7a72bc185a - zeenosaur
您还可以通过查看模拟器的“设置”>“SIM状态”来检查电话号码。 - zeenosaur
我在“设置”中没有“SIM状态”。你能发一张截图吗? - isabsent

0
在您的模拟设备中,点击黄色标记的三个点,选择电话,然后您就可以更改手机号码了。屏幕截图请参见以下链接https://istack.dev59.com/zhbSV.webp

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

                 // get IMEI
                 String imei = tm.getDeviceId();
                 System.out.println("gfvnchgjvbnvhjbbnvgjvbncghvmn ngvm"+imei);

                 // get SimSerialNumber
                 String simSerialNumber = tm.getSimSerialNumber();
                 System.out.println("854755745588954754855ngvm"+simSerialNumber);

                 //get SimCardNumber
                 String number = tm.getLine1Number();
                 System.out.println("gfch5652345651szdxfcgvhbjnfcgvh ngvm"+number);



And Import :]->

import android.content.Context;

import android.telephony.TelephonyManager;

-3

正在查看该页面,但从逻辑上讲似乎不正确...你怎么能将端口设置为像3033031234这样的东西? - wuntee
是的,您不能将端口号更改为手机号码。 - mudit
你如何将端口号设置为手机号码?由于端口号仅限于65535,即5位数字,而手机号码是10位数字。 - iamjayp

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接