• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

系统服务:SmsManager服务

武飞扬头像
啦啦嘿呀
帮助1

SmsManager (短信管理器)是 Android 提供的一个非常常见的服务,它提供了一系列的 sendXxxMessage ()方法用于发送短信。短信通常都是文本的形式,通过调用 sendTextMessage ()方法即可实现。

接下来将通过一个发送短信的案例来讲解 SmsManager 的使用。本例非常简单,提供两个输人框,分别用来输人号码和内容,然后一个按钮用来发送。

1、界面设计

  1.  
    <?xml version="1.0" encoding="utf-8"?>
  2.  
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3.  
    android:layout_width="match_parent"
  4.  
    android:layout_height="match_parent"
  5.  
    xmlns:tools="http://schemas.android.com/tools"
  6.  
    android:orientation="vertical"
  7.  
    tools:context=".MainActivity">
  8.  
     
  9.  
    <EditText
  10.  
    android:id="@ id/num"
  11.  
    android:layout_width="match_parent"
  12.  
    android:layout_height="wrap_content"
  13.  
    android:hint="请输入号码"/>
  14.  
     
  15.  
    <EditText
  16.  
    android:id="@ id/con"
  17.  
    android:layout_width="match_parent"
  18.  
    android:layout_height="wrap_content"
  19.  
    android:hint="输入内容"/>
  20.  
     
  21.  
    <Button
  22.  
    android:id="@ id/send"
  23.  
    android:layout_width="match_parent"
  24.  
    android:layout_height="wrap_content"
  25.  
    android:text="发送" />
  26.  
    </LinearLayout>
学新通

学新通

2.编写用户交互界面代码( MainActivity ) 

MainActiity 负责初始化3个组件,然后调用短信发送类 SmsManager 的 sendTextMessage 来发送短信。

  1.  
    public class MainActivity extends AppCompatActivity {
  2.  
    private EditText num,con;
  3.  
    private Button send;
  4.  
    SmsManager smsManager;
  5.  
    @Override
  6.  
    protected void onCreate(Bundle savedInstanceState) {
  7.  
    super.onCreate(savedInstanceState);
  8.  
    setContentView(R.layout.layout);
  9.  
    smsManager=SmsManager.getDefault();
  10.  
    num=(EditText)findViewById(R.id.num);
  11.  
    con=(EditText)findViewById(R.id.con);
  12.  
    send=(Button)findViewById(R.id.send);
  13.  
    send.setOnClickListener(new View.OnClickListener() {
  14.  
    @Override
  15.  
    public void onClick(View v) {
  16.  
    //创建一个PendingIntent对象
  17.  
    PendingIntent pintent=PendingIntent.getActivity(
  18.  
    MainActivity.this,0,new Intent(),0);
  19.  
    //发送短信
  20.  
    smsManager.sendTextMessage(num.getText().toString(),
  21.  
    null,con.getText().toString(),pintent,null);
  22.  
    Toast.makeText(MainActivity.this,"发送成功",Toast.LENGTH_SHORT).show();
  23.  
    }
  24.  
    });
  25.  
    }
  26.  
    }
学新通

上面的代码使用了一个 PendingIntent 对象, PendingIntent 是对 Intent 的一种包装,一般通过调用 PendingIntent 对象的 getActivity ()、 getService ()等静态方法来获取 PendingIntent 对象。

3.添加权限

因为程序需要调用 SmsManager 来发送短信,因此还需要对该程序添加发送短信的权3.添加权限限。具体的代码如下所示:

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

4.结果展示

给自己发送信息

学新通        

查看短信,发送完成

学新通

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhgfaeac
系列文章
更多 icon
同类精品
更多 icon
继续加载