2

我该怎么做?

  1. 获取我的 AVD 的端口号 [来自我的代码而不是命令行。]

  2. 使用在步骤 1 中获得的端口号从 AVD 向其自身发送消息。

(有可能:一个模拟器可以向自己发送短信

4

2 回答 2

1

从控制台发送短信:

1)打开一个控制台;

2) 键入“telnet localhost xxxx”,其中 xxxx 是模拟器 ID。这与标题栏中模拟器名称前面的数字相同,通常为 5554,除非您有其他模拟器正在运行;

3) 键入“sms send 1234567 message”,其中 message 是 SMS 消息的文本

4) 观看模拟器上的通知栏,您会看到一条短信已发送

只要你愿意做一个肉件短信网关,在模拟器之间手动传输消息,你就可以得到你想要的。

在模拟器实例之间发送短信:

使用模拟器 ID 作为电话号码。似乎模拟器使用格式为 1 555 521 xxxx 的虚拟电话号码,其中 xxxx 是模拟器 ID,例如 1 555 521 5554。

于 2013-05-05T07:25:38.620 回答
1

非常好的问题:我的回答也有点复杂,但很简单:是的...您可以获得运行 AVD 的端口号。 简单的。你必须:

  1. 获取模拟器的电话号码

  2. 电话号码的后四位为端口号 5554、5556 等。

代码片段:

        TelephonyManager telephonyManager = (TelephonyManager)this.getSystemService(Context.TELEPHONY_SERVICE);
        String phoneNumber = telephonyManager.getLine1Number();
        String portNumber = phoneNumber.substring(phoneNumber.length() - 4, phoneNumber.length());
        Log.d(TAG, "Line1 number # " + portNumber);
        tv1.setText(portNumber);

在清单文件中允许权限:

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

输出:

在此处输入图像描述

于 2016-02-10T15:34:46.243 回答