运行效果如图所示:
首先新建一个android project
在string.xml中定义需要用到的字符串:
<?xml version="1.0" encoding="utf-8"?> <resources> <string name="hello">Hello World, MainActivity!> <string name="app_name">发短信程序</string> <string name="str_input_phone_number">请输入手机号</string> <string name="str_input_sms_content">请输入短信内容</string> <string name="str_send_sms">发送短信</string> <string name="str_remind_input_phone_number">请输入手机号</string> <string name="str_remind_sms_send_finish">发送完成</string> </resources>
在main.xml中编辑界面控件代码:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/str_input_phone_number" /> <EditText android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@+id/phone_number_editText" /> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/str_input_sms_content" /> <EditText android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@+id/sms_content_editText" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/str_send_sms" android:id="@+id/send_sms_button" /> </LinearLayout>
最后在MainActivity中编写发送短信的逻辑代码:
package com.sms.ui; import java.util.List; import android.app.Activity; import android.os.Bundle; import android.telephony.SmsManager; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; public class MainActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); phone_number_editText = (EditText) findViewById(R.id.phone_number_editText); sms_content_editText = (EditText) findViewById(R.id.sms_content_editText); send_sms_button = (Button) findViewById(R.id.send_sms_button); send_sms_button.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { String phone_number = phone_number_editText.getText().toString().trim(); String sms_content = sms_content_editText.getText().toString().trim(); if(phone_number.equals("")) { Toast.makeText(MainActivity.this, R.string.str_remind_input_phone_number, Toast.LENGTH_LONG).show(); } else { SmsManager smsManager = SmsManager.getDefault(); if(sms_content.length() > 70) { List<String> contents = smsManager.divideMessage(sms_content); for(String sms : contents) { smsManager.sendTextMessage(phone_number, null, sms, null, null); } } else { smsManager.sendTextMessage(phone_number, null, sms_content, null, null); } Toast.makeText(MainActivity.this, R.string.str_remind_sms_send_finish, Toast.LENGTH_SHORT).show(); } } }); } private EditText phone_number_editText; private EditText sms_content_editText; private Button send_sms_button; }
在功能清单文件中声明发短信权限:
时间: 2024-11-05 17:27:50