android 自动发彩信,Android编程实现定时发短信功能示例
本文实例讲述了Android编程实现定时发短信功能。分享给大家供大家参考,具体如下:
第一,要实现发短信的功能,必须要用到android系统中发短信的权限,即在AndoridManifest.xml中添加如下内容
第二,使用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的声明
android:name=".AlarmReceiver"
android:label="@string/app_name">
在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程序设计有所帮助。
android 自动发彩信,Android编程实现定时发短信功能示例相关推荐
- android+发短信示例,Android编程实现定时发短信功能示例
本文实例讲述了Android编程实现定时发短信功能.分享给大家供大家参考,具体如下: 第一,要实现发短信的功能,必须要用到android系统中发短信的权限,即在AndoridManifest.xml中 ...
- MTK 7.1 定时发送短信功能
此功能的主要设计思路是: 在短信添加附件的list列表中添加一个定时发送短信的选项,用户可以通过添加定时短信来设置短信要发送出去的时间,定时短信发送出去后,后台定时器会根据用户设置的时间进行定时判定, ...
- thinkphp6对接阿里云短信服务完成定时发送短信功能
1.导入阿里短信包 通过composer下载依赖包 composer require alibabacloud/dysmsapi-20170525 2.0.22 具体可参见阿里云短信服务 >&g ...
- 延迟发送:4款定时发送短信的应用程序
发送短信已经成为朋友.家人甚至是同事之间最为常见的通讯方式之一.由于短信具备定时发送及发送报告等功能,使用起来非常灵活.当然,短信的应用程序中常常默认带有发送报告功能,而没有定时发送的功能,若是能具备 ...
- android 实现发送彩信,android 实现发送彩信方法 (MMS)
最近有个突然有个想法,不去调用系统界面发送彩信功能.做过发送短信功能的同学可能第一反应是这样: 不使用 StartActivity,像发短信那样,调用一个类似于发短信的方法 SmsManager sm ...
- android 发短信意图,android代码实现打电话和发送短信功能
android代码实现打电话和发送短信功能 发布时间:2020-05-27 11:57:17 来源:亿速云 阅读:172 作者:鸽子 1.XML布局 xmlns:app="http://sc ...
- android查询未读短信,Android实现获取未接来电和未读短信数量的方法
本文实例展示了Android实现获取未接来电和未读短信数量的方法,在Android程序开发中非常常见,是非常实用的功能,现分享给大家供大家参考.具体如下: 一.未读短信 首先注册Observer,当有 ...
- linux 短信功能,Android调用系统短信功能发送短信
Android调用系统短信功能发送短信有两种方法: 第一种,设定发送的号码,和内容,界面没有联系人,群组组等按钮,如下图所示: 代码如下: Uri smsToUri = Uri.parse(" ...
- Android下实现假短信功能
为实现假短信功能,本质上是利用系统短信应用提供的ContentResolver向手机的收件箱数据库中插入一条记录,主要实现的代码如下:android 4.4版本以上只有设置成默认的短信应用才有短信的写 ...
最新文章
- Linux环境编程--多线程
- 2021年人工神经网络第四次作业 - 第三题Cifar10
- 牛客网(剑指offer) 第二十题 包含min函数的栈
- js遍历json数组给html td赋值,JS实现给json数组动态赋值的方法示例
- linux防火墙能阻止cc攻击吗,linux csf 防火墙 防止少量的ddos cc攻击很有效
- groovy定义变量获取当前时间_Groovy 变量 (Groovy 教程) – Groovy教程 中文开发手册 - Break易站...
- ubuntu中非常好用的PDF软件—okular
- git push报错:fatal: unable to access ‘https://XXX.git/‘: Failed toconnect to github.com port 443
- Windows修改本地域名解析文件hosts
- 如何提取公众号文章中的音频
- c语言大学程序设计题库,大连理工大学c语言...程序设计题库.doc
- 反转链表-就地逆置法
- android-23是什么手机,Android 8.1!首款helio P23/MT6763T手机曝光!
- 青海大学计算机系大三课程表,青海大学计算机系文体部工作计划.doc
- 四月单向历——你是人间四月天
- 软件测试人员的核心竞争力,软件测试工程师的核心竞争力是什么?
- 雅虎财经整合几种主流加密货币交易情况
- SpringAMQP简单入门, 使用Docker部署RabbitMQ至服务器
- 如何开始自动化员工招聘的五个提示
- VB 共享软件防破解设计技术初探(三)