对Android近期任务列表格RecentApplications地简单分析资料报告

上传人:s9****2 文档编号:467792064 上传时间:2023-08-16 格式:DOC 页数:12 大小:74.50KB
返回 下载 相关 举报
对Android近期任务列表格RecentApplications地简单分析资料报告_第1页
第1页 / 共12页
对Android近期任务列表格RecentApplications地简单分析资料报告_第2页
第2页 / 共12页
对Android近期任务列表格RecentApplications地简单分析资料报告_第3页
第3页 / 共12页
对Android近期任务列表格RecentApplications地简单分析资料报告_第4页
第4页 / 共12页
对Android近期任务列表格RecentApplications地简单分析资料报告_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《对Android近期任务列表格RecentApplications地简单分析资料报告》由会员分享,可在线阅读,更多相关《对Android近期任务列表格RecentApplications地简单分析资料报告(12页珍藏版)》请在金锄头文库上搜索。

1、word对Android近期任务列表(Recent Applications)的简单分析分类:Android开发2013-12-31 11:061599人阅读评论(0)收藏举报这里的近期任务列表就是长按Home键出来的那个Dialog,里面放着近期打开过的应用,当然3.0以上系统的多任务切换键也是。这个Dialog的实现在Android源码的中。接下来就对这个源码分析一下。javaview plaincopy1. publicclassRecentApplicationsDialogextendsDialogimplementsOnClickListener2. /Elementsfordeb

2、uggingsupport3. /privatestaticfinalStringLOG_TAG=RecentApplicationsDialog;4. privatestaticfinalbooleanDBG_FORCE_EMPTY_LIST=false;5. 6. staticprivateStatusBarManagersStatusBar;7. 8. privatestaticfinalintNUM_BUTTONS=8;9. privatestaticfinalintMAX_RECENT_TASKS=NUM_BUTTONS*2;/allowforsomediscards10. 11.

3、finalTextViewmIcons=newTextViewNUM_BUTTONS;12. ViewmNoAppsText;13. IntentFiltermBroadcastIntentFilter=newIntentFilter(Intent.ACTION_CLOSE_SYSTEM_DIALOGS);14. 15. classRecentTag16. ActivityManager.RecentTaskInfoinfo;17. Intentintent;18. 19. 20. HandlermHandler=newHandler();21. RunnablemCleanup=newRun

4、nable()22. publicvoidrun()23. /dumpextramemorywerehangingonto24. for(TextViewicon:mIcons)25. icon.setpoundDrawables(null,null,null,null);26. icon.setTag(null);27. 28. 29. ;30. 31. publicRecentApplicationsDialog(Contextcontext)32. super(context,.android.internal.R.style.Theme_Dialog_RecentApplication

5、s);33. 34. 35. 36. /*37. *Wecreatetherecentapplicationsdialogjustonce,anditstaysaround(hidden)38. *untilactivatedbytheuser.39. *40. *seePhoneWindowManager#showRecentAppsDialog41. */42. Override43. protectedvoidonCreate(BundlesavedInstanceState)44. super.onCreate(savedInstanceState);45. 46. Contextco

6、ntext=getContext();47. 48. if(sStatusBar=null)49. sStatusBar=(StatusBarManager)context.getSystemService(Context.STATUS_BAR_SERVICE);50. 51. 52. Windowwindow=getWindow();53. window.requestFeature(Window.FEATURE_NO_TITLE);54. window.setType(WindowManager.LayoutParams.TYPE_SYSTEM_DIALOG);55. window.set

7、Flags(WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM,56. WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM);57. window.setTitle(Recents);58. 59. setContentView(.android.internal.R.layout.recent_apps_dialog);60. 61. finalWindowManager.LayoutParamsparams=window.getAttributes();62. params.width=Window

8、Manager.LayoutParams.MATCH_PARENT;63. params.height=WindowManager.LayoutParams.MATCH_PARENT;64. window.setAttributes(params);65. window.setFlags(0,WindowManager.LayoutParams.FLAG_DIM_BEHIND);66. 67. /默认显示8个68. mIcons0=(TextView)findViewById(.android.internal.R.id.button0);69. mIcons1=(TextView)findV

9、iewById(.android.internal.R.id.button1);70. mIcons2=(TextView)findViewById(.android.internal.R.id.button2);71. mIcons3=(TextView)findViewById(.android.internal.R.id.button3);72. mIcons4=(TextView)findViewById(.android.internal.R.id.button4);73. mIcons5=(TextView)findViewById(.android.internal.R.id.b

10、utton5);74. mIcons6=(TextView)findViewById(.android.internal.R.id.button6);75. mIcons7=(TextView)findViewById(.android.internal.R.id.button7);76. mNoAppsText=findViewById(.android.internal.R.id.no_applications_message);77. 78. /关键在哪,你懂得.79. for(TextViewb:mIcons)80. b.setOnClickListener(this);81. 82.

11、 83. 84. Override85. publicbooleanonKeyDown(intkeyCode,KeyEventevent)86. if(keyCode=KeyEvent.KEYCODE_TAB)87. /IgnoreallmetakeysotherthanSHIFT.Theappswitchkeycouldbea88. /fallbackactionchordedwithALT,METAorevenCTRLdependingonthekeymap.89. /DPadnavigationishandledbytheViewRootelsewhere.90. finalboolea

12、nbackward=event.isShiftPressed();91. finalintnumIcons=mIcons.length;92. intnumButtons=0;93. while(numButtonsnumIcons&mIconsnumButtons.getVisibility()=View.VISIBLE)94. numButtons+=1;95. 96. if(numButtons!=0)97. intnextFocus=backward?numButtons-1:0;98. for(inti=0;inumButtons;i+)99. if(mIconsi.hasFocus(

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号