第73章、再识Intent-调用发送短信程序(从零开始学Android)

来源:互联网 发布:mysql中的触发器 编辑:程序博客网 时间:2024/06/05 20:03

  通过Intent完成短信发送,其本质也是调用Android系统自带发送短信程序,不是真正的自定义发送。
  如果想实现真正意义的自定义发送,则要采用Service的方式。

 一、设计界面

  1、布局文件

  打开res/layout/activity_main.xml文件。
  输入以下代码:

<?xml version="1.0" encoding="utf-8"?><LinearLayout     xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical" >    <TextView        android:id="@+id/textView1"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_alignParentLeft="true"        android:layout_alignParentTop="true"        android:text="手机号码:" />    <EditText        android:id="@+id/mobile"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:ems="10" >        <requestFocus />    </EditText>    <TextView        android:id="@+id/textView2"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="短信内容" />    <EditText        android:id="@+id/content"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:ems="10" />    <Button        android:id="@+id/send"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="发送" /></LinearLayout>


二、程序文件

  打开“src/com.genwoxue.intentsms/MainActivity.java”文件。
  然后输入以下代码:

package com.genwoxue.intentsms;import android.net.Uri;import android.os.Bundle;import android.app.Activity;import android.content.Intent;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.TextView;public class MainActivity extends Activity {private TextView tvMobile=null;private TextView tvContent=null;private Button btnSend=null;@Override public void onCreate(Bundle savedInstanceState)       {           super.onCreate(savedInstanceState);                      setContentView(R.layout.activity_main);                tvMobile=(TextView)super.findViewById(R.id.mobile);//手机号码        tvContent=(TextView)super.findViewById(R.id.content);//内容                btnSend=(Button)super.findViewById(R.id.send);        btnSend.setOnClickListener(new OnClickListener(){        public void onClick(View v)        {          //获取手机号码与内容        String mobile=tvMobile.getText().toString();        String content=tvContent.getText().toString();                //发送短信        Uri uri=Uri.parse("smsto:"+mobile);        Intent intent=new Intent();        intent.setAction(Intent.ACTION_SENDTO);        intent.putExtra("sms_body", content);        intent.setType("vnd.android-dir/mms-sms");        intent.setData(uri);        MainActivity.this.startActivity(intent);        }        });    }}            


三、配置文件

  打开“AndroidManifest.xml”文件。

  然后输入以下代码:

<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android"    package="com.genwoxue.intentsms"    android:versionCode="1"    android:versionName="1.0" >    <uses-sdk        android:minSdkVersion="8"        android:targetSdkVersion="15" />    <uses-permission android:name="android.permission.SEND_SMS"/>        <application        android:allowBackup="true"        android:icon="@drawable/ic_launcher"        android:label="@string/app_name"        android:theme="@style/AppTheme" >        <activity            android:name="com.genwoxue.intentsms.MainActivity"            android:label="@string/app_name" >            <intent-filter>                <action android:name="android.intent.action.MAIN" />                <category android:name="android.intent.category.LAUNCHER" />            </intent-filter>        </activity>    </application></manifest>


  注意:需要在AndroidManifest.xml文件中添加权限:

  <uses-permission android:name="android.permission.SEND_SMS"/>

四、运行结果

   
原创粉丝点击