標籤:簡訊 android 介面 隱私
我們要實現的目標是:做一個簡訊發送器
介面:
因為要涉及到簡訊發送這種屬於隱私的問題,所以我們要在AndroidManifest.xml中添加一行代碼,來獲得許可權:
<uses-permission android:name="android.permission.SEND_SMS"/>
然後,我們就要配置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="100dp" android:layout_height="wrap_content" android:text="@string/number" android:id="@+id/numberlabel" /> <EditText android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@+id/number" android:layout_toRightOf="@id/numberlabel" android:layout_alignTop="@id/numberlabel" android:layout_marginLeft="5dp" /> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/content" /> <EditText android:layout_width="fill_parent" android:layout_height="wrap_content" android:minLines="3" android:id="@+id/content" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/button" android:id="@+id/button" /></LinearLayout>
在介面配置好了之後,我們就需要寫java代碼了,用java代碼來實現傳送簡訊的功能:
package cn.itcast.sms;import java.util.ArrayList;import android.app.Activity;import android.os.Bundle;import android.telephony.SmsManager;import android.view.View;import android.widget.Button;import android.widget.EditText;import android.widget.Toast;public class MainActivity extends Activity { private EditText numberText; private EditText contentText; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); numberText = (EditText) this.findViewById(R.id.number); contentText = (EditText) this.findViewById(R.id.content); Button button = (Button) this.findViewById(R.id.button); button.setOnClickListener(new ButtonClickListener()); } private final class ButtonClickListener implements View.OnClickListener{public void onClick(View v) {String number = numberText.getText().toString();String content = contentText.getText().toString();SmsManager manager = SmsManager.getDefault(); //獲得預設的訊息管理器ArrayList<String> texts = manager.divideMessage(content); //拆分長簡訊for(String text : texts){manager.sendTextMessage(number, null, text, null, null); //傳送簡訊}Toast.makeText(MainActivity.this, R.string.success, Toast.LENGTH_LONG).show(); } }}
Android開發系列(二):簡訊發送器的實現