新建一个Android项目sns。

在String.xml添加文字

<resources>

<stringname="app_name">Sns发送短信</string>

<stringname="hello">Hello World, MainActivity!</string>

<stringname="number">输入手机号</string>

<stringname="content">请输入短信内容</string>

<stringname="button">发送</string>

<stringname="success">发送完成</string>

</resources>

设置界面main.xml

<?xmlversion="1.0"encoding="utf-8"?>

<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:orientation="vertical">

<TextView

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text="@string/number"/>

<EditText

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:id="@+id/number"/>

<TextView

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text="@string/content"/>

<EditText

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:minLines="3"

android:id="@+id/content"/>

<Button

android:layout_width="wrap_content"

android:layout_height="wrap_content"

 android:text="@string/button"

android:id="@+id/button"/>

</LinearLayout>

设置按钮点击事件

public
class
MainActivity extends Activity {

private EditTextnumberText;

private EditTextcontentText;

@Override

public
void
onCreate(BundlesavedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

numberText = (EditText)this.findViewById(R.id.number);

contentText = (EditText)this.findViewById(R.id.content);

Button button = (Button) this.findViewById(R.id.button);

button.setOnClickListener(new ButtonClckListener());

}

private
final class
ButtonClckListenerimplements View.OnClickListener{

public
void
onClick(View v){

String number = numberText.getText().toString();

String content = contentText.getText().toString();

SmsManager manager =SmsManager.getDefault();

ArrayList<String> texts =manager.divideMessage(content);

for (String text : texts) {

// 后两个参数 sentIntent, deliveryIntent(发送状态,是否收到短信状态

manager.sendTextMessage(number, null, text,null,
null);

}

Toast.makeText(MainActivity.this, R.string.success, Toast.LENGTH_LONG).show();

}

}

}

发送成功的三种通知

1.      状态栏通知

2.      对话框通知

3.          吐西(Toast)(弹出发送成功,一秒自动消失)

设置权限

发送短信要设置权限,我们在sdk在docs→index.html

这里可以看到所有的权限搜索send sms可以看到发短信的权限

可以找到

然后可以在manifest申请权限(manifest节点下)

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

安装应用测试

给另外一台模拟器发送短信。

发送成功的Toast效果

code :链接:http://pan.baidu.com/s/1eQzU5s2 密码:70pd

学习笔记7-Android短信发送器的更多相关文章

  1. Android(java)学习笔记86:案例短信发送器

    1.一般我们第一步都是先创建这个main.xml布局文件,这是良好的习惯: <?xml version="1.0" encoding="utf-8"?&g ...

  2. Android(java)学习笔记69:短信发送器

    1. 一般我们第一步都是先创建这个main.xml布局文件,这是良好的习惯: <?xml version="1.0" encoding="utf-8"?& ...

  3. Android短信发送器(2)

    在上一篇的<Android短信发送器>当中.发送功能并不完好.当发送内容超过限定字数时,短信就会发送失败,此时就须要推断内容是否超过限制,假设不超过限制.就直接发送,反之.则对其进行处理再 ...

  4. Android短信发送器_08

    1.string xml代码 <?xml version="1.0" encoding="utf-8"?> <resources> &l ...

  5. 初识安卓小程序(Android短信发送器)

    首先,先创建一个安卓项目(我的版本号是4.4.2的),名字为"短信发送器" 然后在res目录下找到layout目录,找到activity_main.xml或fragment_mai ...

  6. Android学习笔记_2_发送短信

    1.首先需要在AndroidManifest.xml文件中加入发送短信的权限 <uses-permission android:name="android.permission.SEN ...

  7. [android] 短信发送器

    /*****************2016年4月23日 更新********************************/ 知乎:什么是 7 位元的字符? 英文字符难道不是 8 bit 是一个字 ...

  8. android短信发送器源代码

    Activity类: import java.util.List;import android.app.Activity;import android.app.PendingIntent;import ...

  9. android开发学习---开发一个简易的短信发送器

    一.需求: 开发一个简易的短信发送器,输入:对方手机号码,短信内容,点击发送按钮,短信发送成功,对方手机成功收到短信. 其中要求短信内容过长时可以自动拆分,长度英文是160个英文,中文是70个,中英混 ...

  10. 无废话Android之常见adb指令、电话拨号器、点击事件的4种写法、短信发送器、Android 中各种布局(1)

    1.Android是什么 手机设备的软件栈,包括一个完整的操作系统.中间件.关键的应用程序,底层是linux内核,安全管理.内存管理.进程管理.电源管理.硬件驱动 2.Dalvik VM 和 JVM ...

随机推荐

  1. n个并发进程共用一个公共变量Q,写出用信号灯实现n个进程互斥的程序描述,给出信号灯值得取值范围,并说明每个取值范围的物理意义。

    答: var mutex: semaphore:=1; begin cobegin process i : begin   // i = 1,2,……,n repeat P(mutex); 对公共变量 ...

  2. Linux下实现普通用户免密码登录【超详细】

    现有需求,需要把所有服务器的root和密码登录都禁用,只开放普通用户登录,这时需要给普通用户配置秘钥文件,实现无密码登录 如果普通用户需要root权限,在root用户下执行命令:visudo [roo ...

  3. Spring学习笔记6——注解方式测试

    需要下载junit-4.12.jar和hamcrest-all-1.3.jar,将下载好的包导入到项目当中. 修改TestSpring, 并运行1. @RunWith(SpringJUnit4Clas ...

  4. 数据结构 单链表&顺序表

    顺序表: 一般使用数组(C语言中的数组采用顺序存储方式.即连续地址存储)来描述. 优点:在于随机访问元素, 缺点:插入和和删除的时候,需要移动大量的元素. 链表: 优点:插入或删除元素时很方便,使用灵 ...

  5. Postgresql合并年月日、月份和日期左侧补零

    在写一个统计查询的 SQL 语句时,需要根据年.月.日分组,但要求返回的字段是日期格式:yyyy年MM月dd日.刚开始我的做法是返回年.月.日,然后再手动拼接年月日,而且还要判断月份和日期是否为个位数 ...

  6. struts框架从.jsp页面直接访问action

    <%@ page language="java" pageEncoding="UTF-8"%><%String path = request. ...

  7. webpack 4 + mockjs

    一.创建项目目录 二.添加开发依赖( html-webpack-plugin.webpack.webpack-cli.webpack-dev-server.webpack-api-mocker) 如下 ...

  8. vue开发中v-for在Eslint的规则检查下出现:Elements in iteration expect to have 'v-bind:key' directives

    在使用VScode编辑器vue开发过程中,v-for在Eslint的规则检查下出现报错:Elements in iteration expect to have 'v-bind:key' direct ...

  9. Python3 条件控制

    if 语句 Python中if语句的一般形式如下所示: if condition_1: statement_block_1 elif condition_2: statement_block_2 el ...

  10. 《读书报告 -- Elasticsearch入门 》--简单使用(2)

    <读书报告 – Elasticsearch入门 > ' 第四章 分布式文件存储 这章的主要内容是理解数据如何在分布式系统中存储. 4.1 路由文档到分片 创建一个新文档时,它是如何确定应该 ...