SmsManager
类,通过其 sendTextMessage
方法实现短信发送功能。
1、环境搭建:确保你的开发环境中已经安装了Android Studio,并且配置好了Android SDK。
2、创建新项目:打开Android Studio,点击“Start a new Android Studio project”,选择“Empty Activity”,然后点击“Next”,为项目命名,SMSSimulator”,选择保存位置,点击“Finish”完成项目创建。
3、添加权限:在AndroidManifest.xml
文件中添加发送短信所需的权限。
找到<manifest>
标签内部,添加以下行:
<uses-permission android:name="android.permission.SEND_SMS"/>
1、布局文件:打开res/layout/activity_main.xml
,添加两个输入框(一个用于输入电话号码,一个用于输入短信内容)和一个按钮(用于发送短信)。
示例代码:
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <EditText android:id="@+id/editTextPhoneNumber" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="Enter Phone Number" /> <EditText android:id="@+id/editTextMessageContent" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_below="@id/editTextPhoneNumber" android:hint="Enter Message Content" android:layout_marginTop="16dp"/> <Button android:id="@+id/buttonSendSMS" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Send SMS" android:layout_below="@id/editTextMessageContent" android:layout_marginTop="16dp"/> </RelativeLayout>
2、MainActivity代码:打开MainActivity.java
或MainActivity.kt
(根据你使用的编程语言),编写发送短信的逻辑。
Java示例代码:
import android.os.Bundle; import android.telephony.SmsManager; import android.widget.Button; import android.widget.EditText; import androidx.appcompat.app.AppCompatActivity; public class MainActivity extends AppCompatActivity { private EditText editTextPhoneNumber; private EditText editTextMessageContent; private Button buttonSendSMS; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); editTextPhoneNumber = findViewById(R.id.editTextPhoneNumber); editTextMessageContent = findViewById(R.id.editTextMessageContent); buttonSendSMS = findViewById(R.id.buttonSendSMS); buttonSendSMS.setOnClickListener(v -> sendSMS()); } private void sendSMS() { String phoneNumber = editTextPhoneNumber.getText().toString(); String message = editTextMessageContent.getText().toString(); try { SmsManager smsManager = SmsManager.getDefault(); smsManager.sendTextMessage(phoneNumber, null, message, null, null); Toast.makeText(this, "SMS sent successfully!", Toast.LENGTH_SHORT).show(); } catch (Exception e) { Toast.makeText(this, "Failed to send SMS", Toast.LENGTH_SHORT).show(); } } }
1、连接模拟器:确保你的Android模拟器正在运行,并且已经与Android Studio成功连接。
2、安装应用:点击Android Studio顶部的“Run”按钮,选择你的模拟器作为安装目标,等待应用安装完成。
3、测试发送短信:在模拟器中打开应用,输入要发送的电话号码和短信内容,点击“Send SMS”按钮,如果一切正常,你应该会看到一条提示消息“SMS sent successfully!”。
步骤 | 描述 | 代码/操作 |
准备工作 | 确保开发环境已安装Android Studio和Android SDK | |
创建新项目,命名为“SMSSimulator” | ||
在AndroidManifest.xml 中添加发送短信权限 | | |
编写代码 | 在res/layout/activity_main.xml 中添加界面元素 | 编辑框、按钮等 |
在MainActivity.java 或MainActivity.kt 中编写发送短信逻辑 | 使用SmsManager 类的sendTextMessage 方法 | |
运行测试 | 连接模拟器并安装应用 | 点击“Run”按钮,选择模拟器 |
在模拟器中测试发送短信功能 | 输入电话号码和短信内容,点击“Send SMS”按钮 |
1、问:如何在真机上测试发送短信的功能?
答:在真机上测试发送短信功能,首先需要确保你的设备已经开启了开发者模式,并且启用了USB调试,通过USB线将设备连接到电脑,在Android Studio中,选择你的真机作为安装目标,点击“Run”按钮进行安装,安装完成后,你就可以在真机上测试发送短信的功能了,注意,由于发送短信需要消耗真实话费,请谨慎操作。
2、问:如果发送短信失败,可能的原因有哪些?
答:发送短信失败可能由多种原因导致,包括但不限于以下几点:
电话号码格式不正确或不存在。
设备未连接到网络或信号不好。
发送的短信内容包含敏感词汇或被运营商屏蔽。
应用没有获取到发送短信的权限(虽然已经在AndroidManifest.xml
中声明了权限,但在某些情况下可能需要动态请求权限)。
设备的短信功能出现故障或被禁用。