android 簡單短信發送器


使用到的系統類以及方法總結:
java

1、短信管理器:android



一、SmsManager  smsmanger= SmsManager.getDefault();                    //獲取管理器對象安全

二、ArrayList<String> list = smsmanager.divideMessage(message);       //當內容不少的時候咱們要拆份內容其中message是獲取的內容app

三、for (String text : list) {
                // 發送地址 ,通訊地址,短信內容,發送狀態, 對方是否接受到短信,而最後的這兩個獲取是有電信號以廣播的形式來接受

                smsmanager.sendTextMessage(number, null, text, null, null);
            }
ide

四、// 是一種是activity 由於父類是context 類型,第二種是getApplicationContext();
            Toast.makeText(MainActivity.this, R.string.success,
                    Toast.LENGTH_LONG).show();
this


2、實現代碼:spa

一、layout /main.xmlcode

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <RelativeLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" >
        <TextView
            android:id="@+id/lablemess"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginRight="16px"
            android:layout_marginTop="16px"
            android:text="@string/number" />
        <EditText
            android:id="@+id/number"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_toRightOf="@id/lablemess" />
    </RelativeLayout>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="66px"
        android:text="@string/message" />

    <RelativeLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" >

        <EditText
            android:id="@+id/message"
            android:layout_width="360px"
            android:layout_height="wrap_content"
            android:minLines="2" />

        <Button
            android:id="@+id/button"
            android:layout_width="120px"
            android:layout_height="40px"
            android:layout_alignBottom="@id/message"
            android:layout_toRightOf="@id/message"
            android:background="@color/back_color"
            android:text="@string/buttons"
            android:textColor="@color/text_color" />
    </RelativeLayout>

</LinearLayout>
xml


二、values /colors :對象

<?xml version="1.0" encoding="utf-8"?>
<resources>
<color  name="back_color">#00CC00</color>    
<color name="text_color">#0000ff</color>
</resources>


三、 values/strings:

<?xml version="1.0" encoding="utf-8"?>
<resources>

    <string name="app_name">sms</string>
    <string name="number">收信人</string>
    <string name="message">寫信息</string>
    <string name="action_settings">settings</string>
    <string name="buttons">發送</string>
    <string name="success">發送成功</string>

</resources>

四、實現發送的activity  代碼:

package com.inspur.sms;

import java.util.ArrayList;

import android.support.v7.app.ActionBarActivity;
import android.telephony.SmsManager;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class MainActivity extends ActionBarActivity {
    private EditText numberText;
    private EditText messageText;
    private Button button;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        // 實現發送功能
        // 獲取編輯款,按鈕實例,獲取內容, 使用 發送信息smsmanager 發送試用toast顯示
        numberText = (EditText) findViewById(R.id.number);
        messageText = (EditText) findViewById(R.id.message);
        button = (Button) findViewById(R.id.button);

        // 若是短信過長則使用提供的方式來分多條發送
        // 按鈕點擊事件
        button.setOnClickListener(new ButtonClickListener());

    }

    private final class ButtonClickListener implements View.OnClickListener {
        // 實現未實現方法
        public void onClick(View view) {
            // 獲取信息
            String number = numberText.getText().toString();
            String message = messageText.getText().toString();
            // 全部信息獲取以後要進行短信管理器對象的獲取,進行短信的發送管理
            SmsManager smsmanager = SmsManager.getDefault();
            // 使用短信管理器進行短信發送
            // 當內容不少的時候咱們要拆份內容
            ArrayList<String> list = smsmanager.divideMessage(message);
            // 若是是多條短信則進行循環發送
            for (String text : list) {
                // 發送地址 ,通訊地址,短信內容,發送狀態, 對方是否接受到短信,而最後的這兩個獲取是有電信號以廣播的形式來接受

                smsmanager.sendTextMessage(number, null, text, null, null);
            }
            // 信息發送完以後的提示信息:
            // 通常有三種提示方式 狀態欄提示, 窗口提示,還有就是吐司提示,就是界面提示
            // 這裏使用吐司提示, 第一個是一個context 對象,第二個是一個要顯示的內容,第三個是吐司要顯示的時間
            // 吐司提示方式中第一個參數就是context 有兩種方式
            // 是一種是activity 由於父類是context 類型,第二種是getApplicationContext();

            // 最後調用show() 方法顯示發送成功

              Toast.makeText(MainActivity.this, R.string.success,
                    Toast.LENGTH_LONG).show();
            // 到這裏就完了 可是咱們還要對於不安全的信息進行 配置,這裏是使用

        }
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();
        if (id == R.id.action_settings) {
            return true;
        }
        return super.onOptionsItemSelected(item);
    }
}

3、清單文件配置:

一、在android 中咱們使用不安全的軟件的時候咱們最後要在清單文件中添加權限:

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

相關文章
相關標籤/搜索