Android 手机发送短信
2014-09-03 10:51
267 查看
参照网上的例子,做了一个手机发送短信的app。
有两种发送方法:第一种方法测试没有信息的发送记录,第二种调用的sms的Activity还要自行操作。
首先是xml布局文件代码:
然后是strings.xml文件
MainActivity的代码
记得加发送短信的权限
有两种发送方法:第一种方法测试没有信息的发送记录,第二种调用的sms的Activity还要自行操作。
首先是xml布局文件代码:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/main_title" /> <EditText android:id="@+id/phone" android:layout_width="fill_parent" android:layout_height="wrap_content" android:hint="@string/main_phone" android:inputType="phone" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/main_text" /> <EditText android:id="@+id/text" android:layout_width="fill_parent" android:layout_height="wrap_content" android:inputType="textMultiLine" /> <LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:gravity="center_horizontal" android:orientation="vertical" > <Button android:id="@+id/send" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/main_send" /> <Button android:id="@+id/send2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/main_send" /> </LinearLayout> </LinearLayout>
然后是strings.xml文件
<?xml version="1.0" encoding="utf-8"?> <resources> <string name="app_name">SendText</string> <string name="action_settings">Settings</string> <string name="hello_world">Hello world!</string> <string name="main_title">发送短信</string> <string name="main_phone">请输入电话号码</string> <string name="main_text">请输入内容</string> <string name="main_send">发送</string> <string name="main_send_finish">发送完成</string> </resources>
MainActivity的代码
package cn.yzy.sendtext; import java.util.List; import android.net.Uri; import android.os.Bundle; import android.app.Activity; import android.content.Intent; import android.telephony.gsm.SmsManager; import android.view.Menu; 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 EditText phone; private EditText text; private Button send; private Button send2; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); phone = (EditText) findViewById(R.id.phone); text = (EditText) findViewById(R.id.text); send = (Button) findViewById(R.id.send); send2 = (Button) findViewById(R.id.send2); send.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { // TODO Auto-generated method stub String phone_number = phone.getText().toString().trim(); String sms_content = text.getText().toString().trim(); if (phone_number.equals("")) { Toast.makeText(MainActivity.this, R.string.main_phone, Toast.LENGTH_LONG).show(); } else { SmsManager smsManager = SmsManager.getDefault(); if (sms_content.length() > 70) { List<String> contents = smsManager .divideMessage(sms_content); for (String sms : contents) { smsManager.sendTextMessage(phone_number, null, sms_content, null, null); } } else { smsManager.sendTextMessage(phone_number, null, sms_content, null, null); } Toast.makeText(MainActivity.this, R.string.main_send_finish, Toast.LENGTH_LONG) .show(); } } }); send2.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { // TODO Auto-generated method stub String phone_number = phone.getText().toString().trim(); String sms_content = text.getText().toString().trim(); Uri uri = Uri.parse("smsto://" + phone_number); Intent intent = new Intent(Intent.ACTION_SENDTO, uri); intent.putExtra("sms_body", "send detail"); startActivity(intent); } }); } @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; } }
记得加发送短信的权限
<uses-permission android:name="android.permission.SEND_SMS" />
相关文章推荐
- Android手机拨打电话、手动发送短信与自动拨打电话、自动发送短信(代码很简单哦)
- Android手机自动发送短信
- Android编程实现读取手机联系人、拨号、发送短信及长按菜单操作方法实例小结
- android发送短信填入手机号码,6.0动态请求权限拨打电话
- Android 读取手机联系人、拨号、发送短信及长按菜单的操作
- Android ---模拟手机发送短信
- Android - xml动画,识别手势动作,代码抽取,获取手机SIM卡串号,获取联系人数据,开机广播,发送/解析短信,报警音乐
- android手机短信监听器,监听到的短信发送到web服务器,完整源码分享
- Android 监听短信内容变化,并发送到自己的手机
- android 手机注册发送短信失败例子。
- android(22)(相亲神器:自动向自己手机发送从银行发送的存款信息,操作短信数据库中的表)
- 举例说明android中SmsManager的用法---用来实现手机发送短信的功能
- Android编程实现读取手机联系人、拨号、发送短信及长按菜单操作方法实例小结
- android 手机Phone进程下无权限发送短信问题的解决办法
- Android获取手机号码,后台发送短信以及监听短信发送结果。
- 【转】android 手机发送短信,震动,播放默认铃声
- Android假短信(发送短信到手机系统)
- android手机短信发送
- 技术回顾:Android 如何在Service获取最佳坐标以及发送短信到指定的手机
- Android 使用ContentObserver监听短信的变化,并发送信息给特定的手机号码