100_桌面小控件的更新和显示
来源:互联网 发布:国企 保障房 知乎 编辑:程序博客网 时间:2024/05/16 13:43
一、更新控件的服务中
public class UpdateWidgetService extends Service {
private Timer timer;
private TimerTask task;
@Override
public IBinder onBind(Intent intent) {
return null;
}
@Override
public void onCreate() {
super.onCreate();
// 开启定期的任务更新widget.
timer = new Timer();
task = new TimerTask() {
@Override
public void run() {
AppWidgetManager awm = AppWidgetManager.getInstance(getApplicationContext());
ComponentName component = new ComponentName(getApplicationContext(), MyWidget.class);
RemoteViews views = new RemoteViews(getPackageName(),R.layout.process_widget);
views.setTextViewText(R.id.process_count,"正在运行:XXXX");
views.setTextViewText(R.id.process_memory,"可用内存:XXX");
/*
Intent intent = new Intent();
intent.setAction("com.itheima.killall");
//设置一个自定义的广播事件 动作 com.itheima.killall
PendingIntent pendingIntent = PendingIntent.getBroadcast(getApplicationContext(), 0, intent, 0);
views.setOnClickPendingIntent(R.id.btn_clear, pendingIntent);
*/
awm.updateAppWidget(component, views);
}
};
timer.schedule(task, 1000, 2000);
}
@Override
public void onDestroy() {
timer.cancel();
task.cancel();
timer = null;
task = null;
super.onDestroy();
}
}
二、MyWidget 类中
public class MyWidget extends AppWidgetProvider {
@Override //第一个小控件创建时调用
public void onEnabled(Context context) {
//开启服务定期的更新界面.
Intent intent = new Intent(context,UpdateWidgetService.class);
context.startService(intent);
super.onEnabled(context);
}
@Override //最后一个小控件被删除时调用
public void onDisabled(Context context) {
//关闭掉服务
Intent intent = new Intent(context,UpdateWidgetService.class);
context.stopService(intent);
super.onDisabled(context);
}
@Override //最短半个小时执行一次.
public void onUpdate(Context context, AppWidgetManager appWidgetManager,
int[] appWidgetIds) {
//检查下 服务是否还活着.
if(!ServiceStatusUtil.isServiceRunning(context, "com.itheima.mobilesafe.service.UpdateWidgetService")){
Intent intent = new Intent(context,UpdateWidgetService.class);
context.startService(intent);
}
super.onUpdate(context, appWidgetManager, appWidgetIds);
}
}
- 100_桌面小控件的更新和显示
- 显示桌面的小代码
- 桌面小控件_窗口小部件_窗口小工具_android.appwidget
- 桌面小控件appwidget的简单使用
- Android桌面时间的一个小控件
- 桌面小控件
- 桌面悬浮小控件
- Android_Widget桌面小控件
- Widget 桌面小控件
- Glide入门教程——11.通知栏和桌面小控件的图片加载
- 小程序button控件上下边框的显示和隐藏
- music的 桌面小部件的更新不及时问题
- Android:AppWidget 桌面小控件
- android 创建桌面小控件
- android进程管理器桌面小控件的实现
- Android中Appwidget桌面小控件的简单入手方式
- 小技巧-恢复“显示桌面”
- [other] 如何恢复显示桌面的小图标
- smartconfig 工作原理
- 初学ACM
- 取(m堆)石子游戏(尼姆博弈)
- 用指针访问多维数组
- HDU 1754 I Hate It 线段树
- 100_桌面小控件的更新和显示
- FragmentPagerAdapter与FragmentStatePagerAdapter差异
- 下一步计划
- 桌面动画-雪花和兔子-源码分享
- uva 10131 - Is Bigger Smarter?
- 租户网络技术
- hdoj 1394 Minimum Inversion Number 【线段数】
- HDU4902Nice boat (线段树区间更新+lazytag)
- 自创Java精简建表框架