Android 发短信功能

运行效果如图所示:

首先新建一个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-08-30 03:49:18

Android 发短信功能的相关文章

html5开发手机打电话发短信功能,html5的高级开发,html5开发大全,html手机电话短信功能详解

在很多的手机网站上,有打电话和发短信的功能,对于这些功能是如何实现的呢.其实不难,今天我们就用html5来实现他们.简单的让你大开眼界. HTML5 很容易写,但创建网页时,您经常需要重复做同样的任务,如创建表单.在这...有 HTML5 启动模板.空白图片.打电话和发短信.自动完成等等,帮助你提高开发效率的同时,还带来了更炫的功能.好了,我们今天就来做一做看看效果吧!! 看代码: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitio

html5开发手机打电话发短信功能

原文:http://www.open-open.com/code/view/1449843459332 在很多的手机网站上,有打电话和发短信的功能,对于这些功能是如何实现的呢.其实不难,今天我们就用html5来实现他们.简单的让你大开眼界. HTML5 很容易写,但创建网页时,您经常需要重复做同样的任务,如创建表单.在这...有 HTML5 启动模板.空白图片. 打电话和发短信.自动完成等等,帮助你提高开发效率的同时,还带来了更炫的功能.好了,我们今天就来做一做看看效果吧!! 看代码: <!DO

android发短信的代码

android发短信的代码 by 伍雪颖 Uri uri = Uri.parse("smsto:10086"); Intent intent = new Intent(Intent.ACTION_SENDTO,uri); intent.putExtra("sms_body","The SMS text"); startActivity(intent);

iOS调用系统发短信功能详解

iOS调用系统的发短信功能可以分为两种:1,程序外调用系统发短信.2,程序内调用系统发短信.第二种的好处是用户发短信之后还可以回到app.这对app来说非常重要. 程序外调用系统发短信 这个方法其实很简单,直接调用openURL即可: [[UIApplication sharedApplication]openURL:[NSURL URLWithString:@"sms://13888888888"]]; 程序内调用系统发短信 1)导入MessageUI.framework,并引入头文

客户注册功能,发短信功能分离 通过ActiveMQ实现

客户注册功能,发短信功能分离 通过ActiveMQ 配置链接工厂, 配置session缓存工厂(引入链接工厂) 2.配置模板对象JmsTemplate 引入缓存工厂    指定消息模式(队列,发布和订阅) 3. 使用注解方式将模板对象注入给Action,直接发送消息("队列名称与配置监听的队列名相同",内部类MessageCreator(实现createMessage(参数是session))) 4在Spring配置文件 配置链接工厂, 配置session缓存工厂(引入链接工厂) 配置

Java通过SMS短信平台实现发短信功能

在项目中使用过发短信的功能,但那个由于公司内部的限制很麻烦,今天在网上找到一个简单的,闲来无事就把它记录如下: 本程序是通过使用中国网建提供的SMS短信平台实现的(该平台目前为注册用户提供5条免费短信,3条免费彩信,这足够用于我们测试用了.在使用前需要注册,注册地址为http://sms.webchinese.cn/reg.shtml),下面是程序源码: /** * @Author dengsilinming * @Date 2012-9-18 * */ package com.dengsili

android--简单的发短信功能

一.准备字符资源 <string name="tip_phone">请输入电话号码</string> <string name="tip_sms">请输入发送信息</string> <string name="tip_send">发送</string> 二.页面布局 <RelativeLayout xmlns:android="http://schemas.a

swift UI专项训练40 用swift实现打电话和发短信功能

今天来讲一下如何让我们的APP可以访问系统的短信和电话功能.首先来说短信功能,比较简单,跟之前的做法差别不大,要使用UIApplication,它是一个单例.我们的功能是点击一个按钮,然后拨通一个内置的电话,需要在button的action中加入如下语句: @IBAction func phoneBtn(sender:UIButton){ // var url1 = NSURL(string: "tel://"+canguanArray[0].tel) var url1 = NSURL

android发短信,打电话

//1.进入系统短信列表界面 Intent intent = newIntent(Intent.ACTION_MAIN); intent.addCategory(Intent.CATEGORY_DEFAULT); intent.setType("vnd.android-dir/mms-sms"); startActivity(intent); //2>进入短信发送界面 Intent intent = new Intent(Intent.ACTION_VIEW); intent.p