zoukankan      html  css  js  c++  java
  • [Android] 开发第六天

    短信发送器

    先了解一下 Android 的几种通知方式:

    1. 通知栏通知

    2. 弹窗通知

    3. 吐司通知

    接下来上代码,做一个可发送短信的 Android 程序:

    MainActivity.java 文件:

    package oazzz.cn.test4;
    
    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    import android.telephony.SmsManager;
    import android.view.View;
    import android.widget.Button;
    import android.widget.EditText;
    import android.widget.Toast;
    
    import java.util.ArrayList;
    
    public class MainActivity extends AppCompatActivity {
        private EditText numberText;
        private EditText contextText;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            numberText = (EditText) this.findViewById(R.id.number);
            contextText = (EditText) this.findViewById(R.id.content);
            Button button = (Button) this.findViewById(R.id.button);
            button.setOnClickListener(new View.OnClickListener() {
                public void onClick(View v) {
                    String number = numberText.getText().toString();
                    String content = contextText.getText().toString();
                    SmsManager manager = SmsManager.getDefault();
                    ArrayList<String> texts = manager.divideMessage(content);
                    for (String text : texts) {
                        // 接收手机号 短信中心地址,null 为默认 短信内容(有长度限制) 得到发送状况 得到对方短信回执 这两个使用的异步
                        manager.sendTextMessage(number, null, content, null, null);
                    }
                    Toast.makeText(MainActivity.this, R.string.success, Toast.LENGTH_SHORT);
                }
            });
        }
    }
    申请发短信权限 AndroidManifest.xml 文件
    <...>
        <application
            ...
        </application>
        <uses-permission android:name="android.permission.SEND_SMS" />
    </manifest>

    布局文件 activity_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="match_parent"
        android:layout_height="match_parent">
    
        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="@string/number" />
    
        <EditText
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:inputType="phone"
            android:id="@+id/number"/>
    
        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="@string/content" />
    
        <EditText
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:minLines="3"
            android:id="@+id/content"/>
    
        <Button
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="@string/button"
            android:id="@+id/button"/>
    </LinearLayout>

    实际发布到安卓手机上时,没注意到吐司弹窗提示。

  • 相关阅读:
    DateTimePicker常用格式类型
    自定义TreeNode
    memoのPython环境配置
    关于隐式积分方程的一些问题
    Position Based Dynamics【译】
    memoのMac折腾记录
    20210425 助教一周小结(第十二周)
    20210328 助教一周小结(第八周)
    20210307 助教一周小结(第五周)
    20210404 助教一周小结(第九周)
  • 原文地址:https://www.cnblogs.com/z5337/p/7192403.html
Copyright © 2011-2022 走看看