Android实现发送短信的功能
2016-04-26 15:56
561 查看
手机自带的发送短信的界面自己不喜欢,该怎么办??哈哈,我们可以自己写一个,下面就让我来展示一下如何实现发送短信的功能
首先,我们需要设置一个布局文件,在布局文件中需要一个文本编辑框(用于输入要发送的信息),一个按钮(用于发送),和一个接受联系人信息(为数字类型的小文本编辑框,用于输入接收方的号码)
现在,就然我们开始编写:我们将布局文件贴出
这样就完成了布局,我们,然后进入到MainActivity类中,用于实现,具体代码如下所示:
在完成上述步骤之后,别以为你就可以发短信了,你还没有权限,同样,打开配置文件,我们进行权限设置:
将如下代码贴到配置文件中
现在,已经完成了发送短信的功能,赶紧试试结果吧,就是界面有点。。。,后面继续改善吧
首先,我们需要设置一个布局文件,在布局文件中需要一个文本编辑框(用于输入要发送的信息),一个按钮(用于发送),和一个接受联系人信息(为数字类型的小文本编辑框,用于输入接收方的号码)
现在,就然我们开始编写:我们将布局文件贴出
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.wusu.android_002_Message.MainActivity" > <AutoCompleteTextView android:id="@+id/editText_receive" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" android:layout_marginTop="5dp" android:inputType="number" android:hint="@string/Input_number_of_receive" android:ems="10" /> <EditText android:id="@+id/editText_content" android:layout_width="fill_parent" android:layout_height="match_parent" android:layout_above="@+id/button_send" android:layout_alignRight="@+id/editText_receive" android:layout_below="@id/editText_receive" android:ems="10" android:layout_marginTop="10dp" android:hint="@string/Input_content" android:gravity="top" android:inputType="textMultiLine" > <requestFocus /> </EditText> <Button android:id="@+id/button_send" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_alignRight="@+id/editText_content" android:layout_marginBottom="36dp" android:layout_marginRight="14dp" android:text="@string/send" /> </RelativeLayout>
这样就完成了布局,我们,然后进入到MainActivity类中,用于实现,具体代码如下所示:
import java.util.ArrayList; import android.app.Activity; import android.os.Bundle; import android.telephony.*; import android.text.TextUtils; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.view.View.OnClickListener; import android.widget.ArrayAdapter; import android.widget.AutoCompleteTextView; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; import android.widget.Toast; public class MainActivity extends Activity implements OnClickListener { private Button button_send; private TextView textView_content,textView_receive; private AutoCompleteTextView autoCompleteTextView_number; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); button_send=(Button) findViewById(R.id.button_send); button_send.setOnClickListener(this); textView_content=(TextView) findViewById(R.id.editText_content); textView_receive=(TextView) findViewById(R.id.editText_receive); autoCompleteTextView_number=(AutoCompleteTextView) findViewById(R.id.editText_receive); ArrayAdapter<String> adapter=new ArrayAdapter<String>(this,android.R.layout.simple_dropdown_item_1line,numbers); autoCompleteTextView_number.setAdapter(adapter); } private String[] numbers={"1008611","10086","1234567890","9876543210","725610987678","226610"}; @Override public void onClick(View view) { switch (view.getId()) { case R.id.button_send: String content=textView_content.getText().toString(); String number=textView_receive.getText().toString(); if(TextUtils.isEmpty(number)) { Toast.makeText(MainActivity.this,"请输入电话号码...", Toast.LENGTH_SHORT).show(); return; } else { SmsManager smsManager=SmsManager.getDefault(); ArrayList<String> contents=smsManager.divideMessage(content); for(String str:contents) { smsManager.sendTextMessage(number,null, str, null, null); } Toast.makeText(this, "已发送", Toast.LENGTH_SHORT).show(); } break; default: break; } } }
在完成上述步骤之后,别以为你就可以发短信了,你还没有权限,同样,打开配置文件,我们进行权限设置:
将如下代码贴到配置文件中
<uses-permission android:name="android.permission.SEND_SMS"/>
现在,已经完成了发送短信的功能,赶紧试试结果吧,就是界面有点。。。,后面继续改善吧
相关文章推荐
- Android学习(45) -- 自定义控件(9) 下拉刷新 (添加footer)
- Android TextView指定关键字高亮显示
- Android MVP 模式的使用
- Android 调用系统联系人界面的添加联系人,添加已有联系人,编辑和修改。
- android cts理清testpackage和文件名的对应关系
- android waiting for debugger
- 2. Android框架和工具之 Volley
- The project target (Android 5.0.1) was not properly loaded.
- Android 平台电容式触摸屏硬件基本原理
- android测试手机不显示崩溃日志
- (转)Android Studio 不错的开源库
- Android中手机通讯录的获取
- (4.5.4.3)使用Android Studio进行本地单元测试(Local Unit Tests)
- AndroidStudio快捷键使用
- Android学习之事件分发机制
- Android Studio Failed to complete Gradle execution 解决方法
- Android中设计模式的比较
- (4.4.14.1)Android_关于子控件和父控件的事件响应问题
- Android平台的跨进程通信——AIDL(上)
- Android View框架的draw机制