Android AppWidget 开发实例
2010-05-27 17:04:00 来源:WEB开发网看看layout里的main.xml ,只有一个空间就是TextView,这个是用来显示时间用的。
建一个类TestAppWidget继承于AppWidgetProvider,而AppWidgetProvider继承与android.content.BroadcastReceiver,所以TestAppWidget就是一个拦截处理Intent的BroadcastReceiver,这些Intent只能在Androidmainfest里设 置来拦截处理。
1. public class TestAppWidget extends AppWidgetProvider {
2. private String tag=”——?TestAppWidget”;
3. private static
4. final String FRESH=”com.sinxiao.app.fresh”;
5. private Context mContext ;
6. private boolean run = true ;
7. BroadcastReceiver mBroadcast =newBroadcastReceiver() {
8. public void onReceive(Contextcontext, Intent intent) {
9. String action =intent.getAction();
10. if(action.equals(Intent.ACTION_TIME_TICK)) {
11. mContext.sendBroadcast(newIntent(FRESH));
12. }
13. }
14. };
15. /**
16. * 通知Widget每个1秒刷新一次
17. */
18. Thread myThread = new
19. Thread(){
20. public void run() {
21. while (run) {
22. try {
23. Thread.sleep(1000);
24. } catch (InterruptedException e) {
25. e.printStackTrace();
26. }
27. mContext.sendBroadcast(newIntent(FRESH));//通知刷新Widget的Intent
28. }
29. };
30. };
31. @Override
32. public void onUpdate(Contextcontext, AppWidgetManager appWidgetManager,
33. int[] appWidgetIds) {}
复制代码
//这个是每次Widget更新时调用的函数
用来给Widget刷新界面显示
1. Log.d(tag,”onUpdate”);
2. super.onUpdate(context,appWidgetManager, appWidgetIds);
更多精彩
赞助商链接