java监听短信_外部类监听发送短信--------------------------setOnLongClickListener------------------------...

这篇博客展示了如何在Android应用中通过Java实现长按按钮触发短信发送功能。通过创建`SendSMsListener`监听器类,实现了从EditText获取收件人地址和短信内容,使用`SmsManager`发送短信,并在发送完成后显示提示信息。
摘要由CSDN通过智能技术生成

定义了两个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

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical">

android:id="@+id/address"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:textSize="35dp"

/>

android:id="@+id/content"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:textSize="35dp"

/>

android:id="@+id/sent"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="发送"

android:textSize="35dp"

/>

7d36c3db8e0202aebbabfb5094d4ed10.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值