根据以前写的,开发android 程序的流程,我们应该先开发短信的页面,然后再处理其逻辑。
首先是布局文件
<?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/mobile"
/>
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/mobile"
/>
<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"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/button"
</LinearLayout>
布局文件很简单,两个文本显示,两个文本编辑,一个发送按钮
我们想要发送短信,就需要设置发送短信的 权限,我们需要在全局的配置文件中声明
<uses-permission android:name="android.permission.SEND_SMS"/>
这样我们就可以发送短信了,据说这个是只能手机的一个自我保护机制,可以使我们不会错误的调用本地方法。
在强调一遍 在官方文档中,android----Manifest.permission 可以找到所有权限
接下来是正文
package cn.itcast.activity;
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 ActivityMain extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button button = (Button)findViewById(R.id.button);
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
EditText mobileText = (EditText)findViewById(R.id.mobile);
EditText contentText = (EditText)findViewById(R.id.content);
String mobile = mobileText.getText().toString();
String content = contentText.getText().toString();
//得到缺省的短信管理器
SmsManager smsManager = SmsManager.getDefault();
if(content.length()>70){
List<String> texts = smsManager.divideMessage(content);
for(String string : texts){
smsManager.sendTextMessage(mobile, null, string, null, null);
}
}else{
smsManager.sendTextMessage(mobile, null, content, null, null);
}
Toast.makeText(ActivityMain.this, "短信已发送", Toast.LENGTH_SHORT).show();
}
});
}
}
首先是布局文件
<?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/mobile"
/>
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/mobile"
/>
<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"
/>
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/button"
android:id="@+id/button"
/></LinearLayout>
布局文件很简单,两个文本显示,两个文本编辑,一个发送按钮
我们想要发送短信,就需要设置发送短信的 权限,我们需要在全局的配置文件中声明
<uses-permission android:name="android.permission.SEND_SMS"/>
这样我们就可以发送短信了,据说这个是只能手机的一个自我保护机制,可以使我们不会错误的调用本地方法。
在强调一遍 在官方文档中,android----Manifest.permission 可以找到所有权限
接下来是正文
package cn.itcast.activity;
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 ActivityMain extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button button = (Button)findViewById(R.id.button);
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
EditText mobileText = (EditText)findViewById(R.id.mobile);
EditText contentText = (EditText)findViewById(R.id.content);
String mobile = mobileText.getText().toString();
String content = contentText.getText().toString();
//得到缺省的短信管理器
SmsManager smsManager = SmsManager.getDefault();
if(content.length()>70){
List<String> texts = smsManager.divideMessage(content);
for(String string : texts){
smsManager.sendTextMessage(mobile, null, string, null, null);
}
}else{
smsManager.sendTextMessage(mobile, null, content, null, null);
}
Toast.makeText(ActivityMain.this, "短信已发送", Toast.LENGTH_SHORT).show();
}
});
}
}