AlarmManager之定时刷新
来源:互联网 发布:姚安濂事件知乎 编辑:程序博客网 时间:2024/05/16 23:50
这是我写的一个定时刷新程序,这里只实现定时功能
首先要在自己想要定时刷新的firstActivity.java的oncreate()方法里加上:
//先注册一个AlarmManager
Intent i = new Intent(this, MyTestService1.class);
PendingIntent sender = PendingIntent.getBroadcast(this, 0, i, 0);
AlarmManager am = (AlarmManager)getSystemService(ALARM_SERVICE);
//设置重复时间
am.setRepeating(AlarmManager.RTC, 0, REPEATTIME, sender);
//注册一个CommandReceiver
CommandReceiver doCommand=new CommandReceiver();
IntentFilter filter1=new IntentFilter();
filter1.addAction("UPDATESET");
registerReceiver(doCommand, filter1);
startService(new Intent(this,CommandReceiver.class));
//这里我写了一个内部类,用于接收action,在这可以直接调用刷新方法
public class CommandReceiver extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent) {
if(intent.getAction().equals("UPDATESET")){
Toast.makeText(context, R.string.refresh, Toast.LENGTH_SHORT).show();
pd = ProgressDialog.show(context,null,getString(R.string.loading),true,false);
refresh();
}
}
}
MyTestService1 .java类为:
//接收AlarmManager发过来的请求并处理
public class MyTestService1 extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
//因为BroadcastReceiver并不能直接发送一个action给firstAactivity接收,所以这
//里我就间接的通过启动另一个activity来发送action
Intent intent2 = new Intent(context,RefershActivity.class);
intent2.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent2);
}
}
RefershActivity .java
//通过这个类给firstAactivity发送action,这样就可以触发CommandReceiver,达到定时刷新的效果
public class RefershActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main2);
Intent inset=new Intent("UPDATESET");
sendBroadcast(inset);
this.finish();
}
}
MyTestService1 .java注册为:
<application android:icon="@drawable/icon" android:label="@string/app_name">
<receiver android:name=".MyTestService1"/>
......
</application>
- AlarmManager之定时刷新
- AlarmManager 定时
- Android之AlarmManager-用于定时请求服务器
- AlarmManager学习之定时更换壁纸
- android之使用AlarmManager开启定时服务
- JSF之定时刷新
- 定时刷新之轮播图
- 【AlarmManager】使用AlarmManager定时任务
- Android探索之旅(第二十三篇)AlarmManager定时任务
- Android定时执行(AlarmManager) [
- 设置定时,任务:AlarmManager
- Service+AlarmManager 定时任务
- alarmmanager定时任务
- AlarmManager 定时提醒
- AlarmManager 定时报警服务
- AlarmManager 定时任务
- 定时任务,AlarmManager使用
- 定时功能(AlarmManager)
- 终于拥有了自己的程序员生涯的blog
- Web Service 数据交互
- WPFのXAML編---構文に関するご説明---その②
- gnome中如何使用emerald主题
- ASP.NET 状态服务 及 session丢失问题解决方案总结
- AlarmManager之定时刷新
- 工作流之移动商务运用(移动数据采集)
- Java接口,抽象类,内部类
- WPFのXAML編---構文に関するご説明---その③
- ActionScript3 等于和全等运算符
- ASP.NET 4.0 中 Menu 控件的改进
- Web Service
- 寻找快速的source.list
- js调试工具 companion.js