• 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;
    }

    在功能清单文件中声明发短信权限:

  • 相关阅读:
    竞赛200
    竞赛202
    判断是node还是 浏览器端 typeof xxx==='string'
    闷油瓶
    关于算法题
    堆 heap, 准备博客参考
    私有npm 上发布 包
    竞赛199
    正则,转换数组
    设计模式之模板设计模式-以spring的各种template为例
  • 原文地址:https://www.cnblogs.com/dennytao/p/5537272.html
Copyright © 2020-2023  润新知