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:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="请输入号码"
            />
         <EditText 
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="请输入内容"
            />
    
    </LinearLayout>

    如果希望输入内容框变大变宽

    可以设置

    android:lines="6"

    最后再添加button按钮

    完整的代码:

    <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:hint="请输入号码"
            />
         <EditText 
             android:id="@+id/et_content"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="请输入内容"
            android:lines="6"
            />
         <Button 
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:onClick="send"
             android:text="发送"
             />
    
    </LinearLayout>

    界面如下:

    点击发送后会发现报错,权限没设置

    再新建一个模拟器avd2.3(版本低,运行快)

    同时启动两个模拟器

    注意:短信发送器的号码为5556

    以上就完成了简单的发送短信功能

    但是上面的操作还是存在一个小问题,那就是当短信的长度超过运营商限制的长度的时候,短信发送不出去

    修改代码如下:

    package com.wuyudong.smssender;
    
    import java.util.List;
    
    import android.os.Bundle;
    import android.app.Activity;
    import android.telephony.SmsManager;
    import android.view.Menu;
    import android.view.View;
    import android.widget.EditText;
    
    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();
    
            // 获取短信管理器的对象
            SmsManager sm = SmsManager.getDefault();
    
            // 如果短信过长,分割短信,不能超过运营商限定的最长字符数
            List<String> smss = sm.divideMessage(content);
    
            for (String sms : smss) {
                // 发送短信
                // arg0:对方的号码
                // arg1:短信服务中心的号码,不要设置
                // arg2:短信内容
                sm.sendTextMessage(phone, null, sms, null, null);
            }
        }
    }

    搞定

  • 相关阅读:
    安装kali中的一些常用工具和firefox的插件
    kali定制
    熟悉BASH命令
    kali中各目录的作用
    kali中netspeed的安装方法
    kali中常用的ctf工具
    【学生党必看】大学里,你的六个重要选择【转载】
    kali持久加密USB的制作
    elasticsearch _search结果解析
    Springboot整合Elasticsearch报错availableProcessors is already set to [4], rejecting [4]
  • 原文地址:https://www.cnblogs.com/wuyudong/p/5534402.html
Copyright © 2011-2022 走看看