Android入門 利用SmsManager傳送簡訊
阿新 • • 發佈:2018-11-10
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow
也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!
我們可以通過Intent呼叫傳送簡訊的服務,但是也可以通過SmsManager傳送;
一、為何需要自己開發簡訊傳送器
雖然在Android系統中已經存在傳送簡訊的應用,但是如果我們在開發其他應用時需要整合傳送簡訊功能,則很方便。
二、開發簡訊傳送器
應用目標:將應用安裝到5554模擬器上,併發送給5556的模擬器;
介面介紹:
核心程式碼:
(1)SmsManager manager = SmsManager.getDefault(); //獲得預設的訊息管理器
(2)ArrayList<String> list = manager.divideMessage(String txt); //拆分長簡訊
(3)manager.sendTextMessage(String phone,null,String content,null,null); //傳送簡訊
在AndroidManifest.xml中新增:
<uses-permission android:name="android.permission.SEND_SMS"/>
MainActivity.java
package org.xiazdong;import java.util.ArrayList;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 { private Button btn; private EditText phoneEt,contextEt; private OnClickListener listener = new OnClickListener(){ @Override public void onClick(View v) { String phone = phoneEt.getText().toString(); String context = contextEt.getText().toString(); SmsManager manager = SmsManager.getDefault(); ArrayList<String> list = manager.divideMessage(context); //因為一條簡訊有字數限制,因此要將長簡訊拆分 for(String text:list){ manager.sendTextMessage(phone, null, text, null, null); } Toast.makeText(getApplicationContext(), "傳送完畢", Toast.LENGTH_SHORT).show(); } }; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); btn = (Button)this.findViewById(R.id.btn); phoneEt = (EditText)this.findViewById(R.id.phoneNumberEt); contextEt = (EditText)this.findViewById(R.id.contextEt); btn.setOnClickListener(listener); }}