外部类监听发送短信--------------------------setOnLongClickListener------------------------

定义了两个Java。一个作为事件监听器发送短信。MainActivity调用它。

---------------------------外部类监听器-------------------

SendSMsListener.java

package com.example.admin.webchanjian;

import android.app.Activity;import android.app.PendingIntent;import android.content.Intent;import android.telephony.SmsManager;import android.view.View;import android.widget.EditText;import android.widget.Toast;

/** * Created by admin on 2016/10/6. */public class SendSMsListener implements View.OnLongClickListener {    private Activity activity;    private EditText address;    private EditText content;    public SendSMsListener(Activity activity,EditText address,EditText content){        this.activity=activity;        this.address=address;        this.content=content;    }

    @Override    public boolean onLongClick(View v) {        String addressStr=address.getText().toString();        String contentStr=content.getText().toString();        //获取信息管理器        SmsManager smsManager=SmsManager.getDefault();        //创建发送信息的PendingIntent        PendingIntent pendingIntent=PendingIntent.getBroadcast(activity,0,new Intent(),0);        smsManager.sendTextMessage(addressStr,null,contentStr,pendingIntent,null);        Toast.makeText(activity,"短信发送完成",Toast.LENGTH_LONG).show();        return false;    }}

-------------------------MainActivity-------------------------
    //------------------------sent messages---------------------    EditText address;    EditText content;

    @Override    protected void onCreate(@Nullable Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.sentsmslistener);        address=(EditText) findViewById(R.id.address);        content=(EditText) findViewById(R.id.content);        Button btn=(Button) findViewById(R.id.sent);        btn.setOnLongClickListener(new SendSMsListener(this,address,content));    }}

--------------------------------布局-------------------------------------------
sentsmslistener.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">

<EditText    android:id="@+id/address"    android:layout_width="match_parent"    android:layout_height="wrap_content"    android:textSize="35dp"    />    <EditText        android:id="@+id/content"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:textSize="35dp"        />    <Button        android:id="@+id/sent"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="发送"        android:textSize="35dp"        /></LinearLayout>

				
时间: 2024-10-31 10:28:25

外部类监听发送短信--------------------------setOnLongClickListener------------------------的相关文章

通过ContentResolver监听系统短信变化

需要有读取短信的权限 <uses-permission android:name="android.permission.READ_SMS"/> ContentResolver注册一个内容观察者 ContentObserver内容观察者监听系统短信的变化 通过ContentResolver来获取短信内容提供者提供的短信信息 package com.heima.jiantingSms; import android.app.Activity; import android.c

Android 监听系统短信广播

使用场景: 1.对系统接收到的短信进行识别,是广告或者是诈骗等 2.对短信内容进行过滤或者是对内容进行提取,比如验证码提取 3.对系统短信进行拦截,连系统自己都不让收到了(不会出现在系统数据里面,也不会有系统短信的通知栏提示) 备注: 1.系统短信广播为有序广播,要拦截的话,需要在注册广播的时候设置广播优先级为最大,不过这种也有风险,如果被其他的应用先拦截了,那么我们将不再收到,使用时需注意. 2.要接到系统短信广播,那么应用必须具备短信读取权限,这对使用者来说可能是一个限制 3.除了短信读取权

Android 监听SMS短信

当设备接收到一条新的SMS消息时,就会广播一个包含了android.provider.Telephony.SMS_RECEIVED动作的Intent.注意,这个动作是一个字符串值,SDK 1.0不再包含对这个字符串的引用,因此,在你的应用程序中,你需要显式的指定它. 对于应用程序监听SMS Intent广播,首先需要添加RECEIVE_SMS权限.通过在应用程序manifest中添加一个uses-permission,如下面的片段所示: <uses-permission android:name

Android studio之广播监听接收短信

一. 在清单文件中(AndroidManifest.xml)添加短信权限 这里我用的android studio版本是3.3的 <uses-permission android:name="android.permission.READ_SMS" /><uses-permission android:name="android.permission.RECEIVE_SMS" /><uses-permission android:name

Android接收和发送短信

每一部手机都具有短信接收和发送功能,下面我们通过代码来实现接收和发送短信功能. 一.接收短信 1.创建内部广播接收器类,接收系统发出的短信广播 2.从获得的内容中解析出短信发送者和短信内容 3.在Activity中注册广播 4.添加接收短信权限 下面放上具体的代码 activity_main.xml文件用于显示短信发送者号码和显示短信内容 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout

安卓学习之接收、发送短信

短信接收 android中当手机接收到一条短信后,会发送android.provider.Telephony.SMS_RECEIVED 的广播,这条广播中携带有与短信相关的所有数据.每个应用程序都可以在广播接收器里对他监听. 简单的短信接收程序: protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main

安卓笔记1——入门介绍及拨打电话和发送短信案例

现在开始接触安卓开发.以后后同步发出对应笔记.老规矩,用一张图来介绍今天的内容. 图片看不清的话可以右键新窗口打开. 一.开发工具 · Eclipse + ADT(Android Developer Tools) · Android Studio · SDK (软件开发环境, Android调试工具, 模拟等) 二.SDK目录介绍 · add-ons :(额外开发资料, google地图资源) · build-tools : 编译工具目录 · docs : 离线版开发文档 · extras : 

android: 接收和发送短信

8.2    接收和发送短信 收发短信应该是每个手机最基本的功能之一了,即使是许多年前的老手机也都会具备这 项功能,而 Android 作为出色的智能手机操作系统,自然也少不了在这方面的支持.每个 Android 手机都会内置一个短信应用程序,使用它就可以轻松地完成收发短信的操作,如 图 8.4 所示. 图   8.4 不过作为一名开发者,仅仅满足于此显然是不够的.你要知道,Android 还提供了一系 列的 API,使得我们甚至可以在自己的应用程序里接收和发送短信.也就是说,只要你有足 够的信

java攻城师之路(Android篇)--搭建开发环境、拨打电话、发送短信、布局例子

一.搭建开发环境 1.所需资源 JDK6以上 Eclipse3.6以上 SDK17, 2.3.3 ADT17 2.安装注意事项 不要使用中文路径 如果模拟器默认路径包含中文, 可以设置android_sdk_home环境变量解决.效果如下: 二.拨打电话 1.步骤 在Button节点中添加onClick属性, 指定一个方法名 在Activity中定义一个public void 方法名 (View view) 获取文本框中的号码 创建意图, 设置动作, 设置数据 使用意图开启Activity 2.