zoukankan      html  css  js  c++  java
  • Android简易实战教程--第四话《最简单的短信发送器》

    首先配置一个布局:

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:paddingBottom="@dimen/activity_vertical_margin"
        android:paddingLeft="@dimen/activity_horizontal_margin"
        android:paddingRight="@dimen/activity_horizontal_margin"
        android:paddingTop="@dimen/activity_vertical_margin"
        tools:context=".MainActivity"
        android:orientation="vertical"
         >
    
        <EditText
            android:id="@+id/et_phone"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:inputType="phone"
            android:hint="请输入对方号码"
            />
        <EditText 
            android:id="@+id/et_content"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:lines="5"
            android:hint="请输入短信内容"
            android:gravity="top"
            />
        <Button 
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="发送"
            android:onClick="send"
            />
    
    </LinearLayout>
    然后在activity中把发短信的代码写出来:

    package com.ydl.smssender;
    
    import java.util.ArrayList;
    
    //省略导包
    
    public class MainActivity extends Activity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
        }
    
    
        public void send(View v){
        	//拿到用户输入的号码和内容
        	EditText et_phone = (EditText) findViewById(R.id.et_phone);
        	EditText et_content = (EditText) findViewById(R.id.et_content);
        	
        	String phone = et_phone.getText().toString();
        	String content = et_content.getText().toString();
        	
        	//1.获取短信管理器
        	SmsManager sm = SmsManager.getDefault();
        	
        	//2.切割短信,把长短信分成若干个小短信
        	ArrayList<String> smss = sm.divideMessage(content);//an ArrayList of strings that, in order, comprise the original message
        	
        	//3.for循环把集合中所有短信全部发出去
        	for (String string : smss) {
    			
        		sm.sendTextMessage(phone, null, string, null, null);//Send a text based SMS.
    		}
        }
        
    }
    
    发短信是需要系统权限的:

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

    效果:

    开了两个模拟器,实现了发短信功能。




  • 相关阅读:
    WPF自定义RoutedEvent事件代码段
    微信聊天和通讯录按钮样式
    【转】c#、wpf 字符串,color,brush之间的转换
    模块式开发
    通过属性进行浅拷贝
    【转】string.Format对C#字符串格式化
    酷学习笔记——前言
    C# 连蒙带骗不知所以然的搞定USB下位机读写
    C# Ioc、DI、Unity、TDD的一点想法和实践
    虹软人脸识别速度测试征集
  • 原文地址:https://www.cnblogs.com/wanghang/p/6299652.html
Copyright © 2011-2022 走看看