andorid下实现定时发短信的功能

Android小程序之自动发送短信 Android中有一个用于发送短信的类:android.telephony.SmsManager。通过使用该类就能实现自动发送短信的功能。 小程序界面如下: 在程序中能够输入手机号和短信内容,点击发送按钮即可发送短信。具体步骤如下: 1.在AndroidManifest.xml文件中声明发送短信权限: <uses-permission android:name="andr... 阅读详情

作者:程立


第一,   要实现发短信的功能,必须要用到android系统中发短信的权限,即在AndoridManifest.xml中添加如下内容    

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


第二,   使用AlarmManager来实现一个倒计时的功能,当时间到时发送短   信。AlarmManager有两个相似的用法:1.在指定时常时候执行某项操作。2.周期性的执行某项操作。AlarmManager对象需要配合Intent对象使用,可以定时开启一个Activity,发送一个Broadcast,或者开启一个Service。以下是核心代码片段:


AlarmManager aManager=(AlarmManager)getSystemService(Context.ALARM_SERVICE); 

		Intent intent=new Intent(this,AlarmReceiver.class); 
		intent.setAction("AlarmReceiver");

		PendingIntent pendingIntent=PendingIntent.getBroadcast(this, 0, intent, 0); 
		//aManager.set(AlarmManager.RTC, calendar.getTimeInMillis(), pendingIntent);
		aManager.setRepeating(AlarmManager.RTC, 0, 60*1000, pendingIntent)


第三,   实现时间的设定方式。1.可以直接使用AlarmManager对象的set方法来设定具体的闹钟时间。2.可以使用TImePicker的方式来设定时间,这种方式比较灵活。


第四,   新建一个AlarmReceiver类,来对闹钟进行响应。

1.      现在AndroidMainfest.xml里添加Receiver的声明


<receiver 
android:name=".AlarmReceiver"
            android:label="@string/app_name">
            <intent-filter>
                <action android:name="AlarmReceiver" />           
            </intent-filter>
        </receiver>


在AlarmReceiver.java中实现对时间的获取以及发送短信的功能。发送短信需要用到SmsManager类,利用类 SmsManager 发送信息, smsManager 为 SmsManager 一个默认的实例.


SmsManager smsManager =SmsManager.getDefault();它的方法如下

smsManager.sendTextMessage(destinationAddress,scAddress, text, sentIntent, deliveryIntent)

其中各个参数的含义如下

  destinationAddress: 收件人号码

  scAddress: 短信中心服务号码, 这里设置为null

  text: 发送内容

sentIntent: 发送短信结果状态信号(是否成功发送),new 一个Intent , 操作系统接收到信号后将广播这个Intent.此过程为异步.

  deliveryIntent: 对方接收状态信号(是否已成功接收).

最后附上详细的代码


public class YoulainaozhongActivity extends Activity {
	TextView onetextview;
	TextView twotextview;	
	TextView threetextview;	
	Button onebutton;
	Button twobutton;
	Dialog dialog = null;
	//新建日历对象,用来设置闹钟时间
	Calendar calendar = Calendar.getInstance();
	private SharedPreferences sharedPreferences; 
	public void onCreate(Bundle savedInstanceState) { 
		super.onCreate(savedInstanceState); 
		setContentView(R.layout.main); 
		
		calendar.setTimeInMillis(System.currentTimeMillis());
		
		LinearLayout relativeLayout  =(LinearLayout) findViewById(R.id.LinearLayout);
	        relativeLayout.setBackgroundResource(R.drawable.bejing);
		
		onebutton=(Button) findViewById(R.id.onebutton);
		onebutton.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View v) {
			
				dialog();
			}
		});
		twobutton=(Button) findViewById(R.id.twobutton);
		twobutton.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View v) {
				finish();
				
			}
		});
		onetextview=(TextView) findViewById(R.id.onetextview);
		twotextview=(TextView) findViewById(R.id.twotextview);
		threetextview=(TextView) findViewById(R.id.threetextview);
		sharedPreferences=getSharedPreferences("alarm_record", Activity.MODE_PRIVATE); 
		AlarmManager aManager=(AlarmManager)getSystemService(Context.ALARM_SERVICE); 

		Intent intent=new Intent(this,AlarmReceiver.class); 
		intent.setAction("AlarmReceiver");

		PendingIntent pendingIntent=PendingIntent.getBroadcast(this, 0, intent, 0); 
//		aManager.set(AlarmManager.RTC, calendar.getTimeInMillis(), pendingIntent);
		aManager.setRepeating(AlarmManager.RTC, 0, 60*1000, pendingIntent); 

	}
	public void dialog(){
		View view=getLayoutInflater().inflate(R.layout.shijian, null);// 

		final TimePicker timePicker=(TimePicker)view.findViewById(R.id.timepicker); 
		final  EditText  oneeditext=(EditText)view.findViewById(R.id.oneeditext);
		final  EditText  twoeditext=(EditText)view.findViewById(R.id.twoeditext);
		timePicker.setIs24HourView(true);

		new AlertDialog.Builder(this)
		.setTitle("设置")
		.setView(view)
		.setPositiveButton("确定", new DialogInterface.OnClickListener() { 

		public void onClick(DialogInterface dialog, int which) { 

		String timeStr=String.valueOf(timePicker.getCurrentHour())+":"+String.valueOf(timePicker.getCurrentMinute()); 
		
		/*calendar.set(Calendar.HOUR_OF_DAY,timePicker.getCurrentHour());
		calendar.set(Calendar.MINUTE, 55);*/
		
		onetextview.setText("您设置的时间为: "+timeStr); 
		twotextview.setText("您设置的号码为: "+oneeditext.getText().toString()); 
		threetextview.setText("您设置的内容为: "+twoeditext.getText().toString()); 
		sharedPreferences.edit().putString(timeStr, timeStr).commit(); 
		sharedPreferences.edit().putString("haoma", oneeditext.getText().toString()).commit(); 
		sharedPreferences.edit().putString("neirong", twoeditext.getText().toString()).commit(); 


		} 

		}).setNegativeButton("取消", null).show(); 

	}
} 
public class AlarmReceiver extends BroadcastReceiver {

	/**
	 * 通过广播进行扫描,是否到达时间后再响起闹铃
	 * */

	@Override
	public void onReceive(Context context, Intent intent) {
		SharedPreferences sharedPreferences = context.getSharedPreferences(
				"alarm_record", Activity.MODE_PRIVATE);

		String hour = String.valueOf(Calendar.getInstance().get(
				Calendar.HOUR_OF_DAY));

		String minute = String.valueOf(Calendar.getInstance().get(
				Calendar.MINUTE));

		String time = sharedPreferences.getString(hour + ":" + minute, null);// 小时与分,
		String haoma = sharedPreferences.getString("haoma", null);
		String neirong = sharedPreferences.getString("neirong", null);

		if (time != null) {// 判断是否为空,然后通过创建,

//			MediaPlayer mediaPlayer = MediaPlayer.create(context, R.raw.a);
			Toast.makeText(context, "短信已经发送成功", Toast.LENGTH_LONG).show();
//			mediaPlayer.start();// 开始 ;
			sendMsg(haoma, neirong);
		}
	}

	private void sendMsg(String number, String message) {
		SmsManager smsManager = SmsManager.getDefault();
		smsManager.sendTextMessage(number, null, message, null, null);

	}

}




Android软件开发:使用系统短信库发送短信 在sendSMS()方法中,我们指定了目标手机号码和要发送的短信内容,然后使用SmsManager类的sendTextMessage()方法发送短信。本文将详细介绍如何在Android应用程序中使用系统短信库发送短信,并提供相应的源代码。通过添加适当的权限和依赖项,并编写相应的代码,你可以方便地实现短信发送功能。在完成上述代码后,你可以运行你的应用程序,并点击按钮或者触发其他事件来发送短信。如果用户授予了发送短信的权限,你将看到一个提示消息,表示短信已经成功发送。步骤2:编写发送短信的代码。 阅读详情

相关推荐

Android实现发送短信功能

使用Android实现发送短信,可自定义联系人自定义短信内容

是阿超 1861

android 实现发送短信功能

离职五天左右 学习了一些基础理论并用于实践,也算是学到了点东西 1.实现短信的发送功能 在学习的视频里面发现了这个发送短信的功能实现 就好奇写了一个小demo 先看一下页面的效果吧 很简单的布局 两个输入框 一个按钮 看一下具体的实现效果emmmm 模拟器上看不出来效果 骚等.... 点击发送短信 提示了发送成功 看一下能否接收到短信呢? 那就一起来看一下吧 成...

72的博客 2万+

android 定时发送短信源码

android 定时发送短信源码

Android定时发送短信功能实现

现在好多手机都自带定时发短信,但是感觉定时发送这个功能里面有结合alarm和广播两部分内容,所以小小记录一下。 首先,定时发短信无非就是“定时”和“发短信”两部分,那么分开来看。 第一部分:发短信 很简单,定时发短信肯定不是到时间了再弹出短信编辑界面,所以那种方法就不说了,在此只记录直接发方法。 SmsManager manager = SmsManager.getDefault(); ...

WHY_HelloWorld的博客 6792

android 定时发送短信 (新)

android 定时发送短信(新) android 手机定时发送短信程序,支持2.2以上版本。功能:即时发送短信,定时发送短信,取消定时发送,拨号,自动搜索联系人,此次修补上次出现的bug。

Android应用源码之自动发送短信.zip

源码参考,欢迎下载

android 自动发短信的代码,Android点击按钮时自动发送短信

当用户按下屏幕上的按钮时,我试图自动将SMS消息发送到某个号码。这是我的代码:Intent smsIntent = new Intent(Intent.ACTION_SENDTO, Uri.parse("sms:xxxxxxxxxxx")); smsIntent.putExtra("sms_body", "Hello"); startActivity(smsIntent);xxxxxxx =电话号...

weixin_27743991的博客 1711

Android自动发送短信

android应用源码,安卓应用源码下载,android游戏源码下载,android游戏源代码,安卓游戏代码,android软件源代码,安卓程序源代码下载,安卓软件源码,android源码下载,安卓源码下载,安卓源代码,android软件源代码下载.

android 发送短信sendTextMessage()真机运行报错,退出,在已申请SEND_SMS权限的情况下Android send SMS not working uid 。。。

    最近想做一个自动发送短信获取密码的app ,因为大学里的电信网 要24小时换一次密码,每次手动发短信去要密码很烦有没有~~ 说明:Android 6.0 之前我们申请权限直接在配置文件中配置一下即可,但是6.0之后, 谷歌官方将权限分为普通权限和危险权限。对于危险权限来说,就需要进行动态设置了。 先说答案,大佬一看就懂的———— 用运行时权限的申请方法!!! (动态权限申请,叫惯了...

qq_38190111的博客 4277

Android自动发送短信源程序

摘要:Java源码,Android源码,发送短信  Android编程实现手机在需要时自动发送短信的功能,注意这个功能为了保护用户隐私,要谨慎使用。在程序实现时,指定手机号码,指定消息内容,通过预定代码实现自动发送短信的功能,发送成功给出提示,接受者的手机将显示一条内容为“这条短信是自动发送的”手机短信。

CFturbo 2024保姆级教程:从流量扬程到三维叶轮,手把手搞定离心泵水力设计

本文提供CFturbo 2024离心泵水力设计的全流程实战指南,从流量扬程参数输入到三维叶轮模型导出,详细解析设计步骤与优化技巧。涵盖叶轮尺寸确定、子午面型线设计、叶片角度调整等关键环节,帮助工程师高效完成CAE辅助的离心泵水力设计,提升设计质量与效率。

weixin_42569329的博客 927

Android点击自动发送短信,在android中发送自动短信

我想开发一个短信应用程序,它在收到短信时用自定义文本发送自动短信到“短信发送者”。 首先,我创建了广播接收器类在android中发送自动短信public class MyBroadCastReceiver extends BroadcastReceiver {private final String MSG_BODY="Thank you for contact we will contact u...

weixin_36206388的博客 859

[cryoEM] cryoSPARC简介

cryoSPARC系统结构概述 cryoSPARC是一个后端和前端高性能计算软件系统,为单颗粒冷冻电镜提供数据处理和图像分析能力,以及丰富的基于浏览器的用户截面和命令行工具。 Master-worker模式 系统基于主用户模式。 主进程(web应用,核心应用程序和MongoDB数据库)一起在主节点上运行。主节点需要相对轻量级的资源(2+ CPU< 16GB+ RAM)。 工作程序进程可以在具有GPU的任何可用节点上生成,负责所有实际计算和数据处理,并由主节点调度。注意:同一节点可以同时充当主节点和辅

进阶中的程序员吃吃的博客 7796

Android发送短信的源码

将开发过程中经常用到的一些代码段记录起来,如下资料是关于Android发送短信的的代码。 String body=”this is mms demo”; Intent mmsintent = new Intent(Intent.ACTION_SENDTO, Uri.fromParts(”smsto”, number, null)); mmsintent.putExtra(Messaging.KEY_ACTION_SENDTO_MESSAGE_BODY, body); mmsintent.putExtra(M

weixin_44183620的博客 1758

地质工程师必备:Dips软件从数据导入到主结构面分析的完整流程解析

本文详细解析了地质工程师使用Dips软件进行主结构面分析的完整流程。从数据准备与导入、结构面分组与扇形区划分,到主结构面计算与工程解读,系统阐述了如何将野外节理数据转化为控制岩体稳定性的关键信息。重点介绍了利用等值线图识别优势组、计算统计主值及其置信椭圆,并强调了地质判断与工程应用结合的重要性。

table的专栏 341

保姆级教程:用Unity为麒麟系统打包Linux应用(含路径权限全攻略)

本文提供了一份详细的Unity跨平台开发指南,重点介绍如何在麒麟系统上打包和部署Linux应用。从开发环境配置、路径权限处理到性能优化和常见问题解决,全面解析了Unity项目在国产操作系统上的适配流程,帮助开发者高效完成跨平台应用开发。

weixin_28692867的博客 504

Android自动化测试中短信的操作技巧

Android自动化测试中短信的操作技巧:一、发送短信的机制简介,短信作为一种重要的移动通信方式,在APP测试中也经常需要验证短信功能的正确性。为了避免大量手动操作设备发送短信的低效率,我们可以利用ADB命令达到自动发送短信的目的。短信的发送需要手机短信APP的支持。命令行通过启动短信APP并传入参数,让APP负责发送。整个过程不需要实际操作设备。

2301_77709772的博客 248

Ubuntu20.04下Pycharm的快速安装与配置指南

本文提供了一份详细的Ubuntu 20.04系统下PyCharm社区版的安装与配置指南。文章重点介绍了通过手动下载.tar.gz压缩包进行安装的灵活方法,并涵盖了系统准备、依赖安装、首次运行、创建快捷方式以及解释器配置等关键步骤,帮助Python开发者快速搭建高效、可控的本地开发环境。

weixin_28831341的博客 379

自动发送短信(Android)

1.核心代码 public void sendSMS(String phoneNumber, String message){ //获取短信管理器 android.telephony.SmsManager smsManager = android.telephony.SmsManager.getDefault(); //拆分短信内容(手机短信长度限制),貌似长度限制为140个字符,就是 //只能发送70个汉字,多了要拆分成多条短信发送

小白 2303

萤石云cs刷机解绑固件

萤石CS-C2C-32WFR刷机包,萤石CS-C6TC刷机包,萤石CS-C6H刷机包,萤石猫眼产品等等。萤石云摄像头固件修改,绑定手机号解绑,更换序列号教程。

海康威视技术支持 2万+

《YOLOv8-seg改进》专栏指导书册 &手把手创新教程

学姐带你学习YOLOv8,从入门到创新,轻轻松松搞定科研;1)手把手教你如何训练YOLOv8-seg;2)模型创新,提升分割性能;3)独家自研模块助力分割;

会AI的学姐 3810

Android App 可以定时启动! 并且完成短信自动发送获取内容功能 (以获取闪讯密码为例 大学宿舍宽带)

接上一篇:android 发送短信sendTextMessage()真机运行报错,退出,在已申请SEND_SMS权限的情况下Android send SMS not working uid 。。。 重开一篇,完整讲述我这个半吊子的android 入门人员是怎么做出一个可以定时启动并且发送短信,读取回信里面的密码 这个功能的app 至于我为什么要做这个功能,可以看上一篇文章。主要是大学里面宽带密码定期更新手动去获取太麻烦~~ 得先放出运行效果视屏才行,如下:只是点击了发送按钮,就会做到自动发送、接收、提取

YHJ 3507

11、RK3566/3568 Android11切割屏幕 长条屏 显示

在使用 RK3566 平台进行 Android 11 开发时,遇到切割屏(长条屏)显示画面不全。本文将详细介绍如何配置,以及如何修改 HWComposer 来调整显示区域,解决图像缩放问题。我这边屏幕是lvds接口的,分辨率1920 1080实际的屏物理尺寸是1920x463。

qq_39451352的博客 252
上一篇: Android实现摄像头临摹效果
下一篇: android 振动器系统
pku_android
博客等级 码龄15年 450粉丝 151原创
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值