我做一个短信定时发送的工具,利用service 在后台运行,但是我不懂怎么实现这样一个过程,有做过的朋友分享下经验或提供下代码,小生不甚感激。
解决方案 »
- android gridView或listView拖拽
- Eclipse启动android程序,提示跟PostgreSQL有关,无法启动虚拟机,求解
- 有人熟悉opengl 么
- getResources()的作用
- 一个Android程序的问题!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- 求号http://www.eoeandroid.com的帐号
- 怎么去捕捉Layout按钮
- 安卓和JAVA程序提交post请求返回不一样
- 求助错在哪里?报错java.lang.ArrayIndexOutOfBoundsException:length=1;index=1
- 如何在recycleview中嵌套recycleview
- 如何在JAVA代码中,使表格中的单元格跨行?
- SQLiteDatabase报错。。。
http://1225682794.iteye.com/blog/832768
service中动态注册广播,并启动定时器,指定时间发送广播
广播收到后,发送短信即可实现定时发送
然后自己处理循环就好了
final Timer timer = new Timer("retry", true);
TimerTask task = new TimerTask() { @Override
public void run() {
int j = someMethod();
if (1 == j) {
timer.cancel();
}
}
};
timer.scheduleAtFixedRate(task, 600000, 600000);
// 实例化
SharedPreferences shared = context.getSharedPreferences("OOXX",
Context.MODE_WORLD_WRITEABLE);
// 实例化Intent
intent = new Intent();
intent.setClass(context, Updater.class);
// 实例化PendingIntent
PendingIntent pend = PendingIntent.getBroadcast(context, 0, intent, 0); // 获得定时器实例
AlarmManager alarm = (AlarmManager) context
.getSystemService(Context.ALARM_SERVICE); long period = shared.getLong("period", 0);
if (period == 0) {
return;
}
long curr = shared.getLong("curr", System.currentTimeMillis());
// 启用
alarm.setRepeating(AlarmManager.RTC, curr, period, pend);