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

问题描述 投票:5回答:5

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

android emulation
5个回答
3
投票

主要完全控制本博客末尾详述的电话号码:

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

前7个是完全可配置的,后4个可以是16个允许的端口号之一。

事实证明,电话号码存储在SIM卡上。由于没有实际的SIM卡,因此可以模拟一张SIM卡。此仿真SIM在仿真器 - arm二进制文件中进行了硬编码。 1555521的替换失败的原因是因为SIM卡的规范不能以纯文本形式存储MSISDN(移动用户综合业务数字网络号码,AKA电话号码)。相反,每组数字都在一些反向啃咬的字节序噩梦中交换。

...找到MSISDN的一种快捷方法是在二进制文件中搜索%d%df%d(下面以红色突出显示)。相应的源代码位于当前仓库中第436行的external / qemu / telephony / sim_card.c中。以下是该sprintf的格式字符串部分:

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

有趣的部分是515525%d1(以蓝色突出显示)。交换每组两位数产生1555521%d(再次感谢CodePainters)。这看起来像我们手机号码的前缀。

在十六进制编辑器中编辑它。


0
投票

您可以在模拟器中模拟传入的短信和呼叫(使用模拟器的端口),但就是这样,您无法设置设备号或类似的东西。对于那种事情,你需要一个真正的设备。


0
投票

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

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

第一个电话号码是+15555215554,第二个+15555215556,即电话号码是前缀+1555521加上模拟器后缀55545556


-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
投票

模拟器的移动号码是该模拟器的端口号。更多细节。请检查此链接:

http://developer.android.com/guide/developing/devices/emulator.html#calling

© www.soinside.com 2019 - 2024. All rights reserved.