WEB开发网      濠电娀娼ч崐濠氬疾椤愶附鍋熸い鏍ㄧ〒闂勫嫰鏌﹀Ο渚Ц闁诲氦顕ч湁婵犲﹤楠告禍鍓х磼鏉堛劌绗氶柟宄版嚇閹晠宕归銈嗘濠电偞鍨堕幐鎾磻閹捐秮褰掓偐閻戞﹩妫勯梺鎼炲妼鐎涒晝绮嬪澶樻晝闁挎繂鏌婇敃鍌涚厵閻庢稒锚閻忥絾绻濇繝鍐ㄧ伌闁诡垰鍟村畷鐔碱敂閸♀晙绱樺┑鐐差嚟婵儳螞閸曨剚鍙忛柍鍝勬噹缁€澶嬬箾閹存繄锛嶆鐐灲閹綊宕惰濡插鏌涢妸銉ヮ劉缂佸倸绉归弫鎾绘晸閿燂拷 ---闂備焦瀵уú鈺呭箯閿燂拷
开发学院手机开发Android 开发 Android SDK 开发之应用程序基础 阅读

Android SDK 开发之应用程序基础

 2010-03-23 04:53:00 来源:WEB开发网 闂備線娼уΛ鎾箯閿燂拷闂備礁鎲¢崹鐢垫崲閹扮増鍎嶆い鎺戝€甸崑鎾斥槈濞嗗秳娌紓鍌氱▌閹凤拷濠电姭鎷冮崨顓濈捕闂侀潧娲ゅú銊╁焵椤掍胶鈯曢柕鍥╁仧缁辩偤鏁撻敓锟�闂備線娼уΛ鎾箯閿燂拷  闂備胶枪缁绘鈻嶉弴銏犳瀬闁绘劕鎼痪褔鏌曟繝蹇曠窗闁煎壊浜滈—鍐偓锝庡墮娴犙勭箾閸喎鐏ユい鏇樺劦椤㈡瑩鎮℃惔銇帮拷
核心提示:主要的Intent标签值有以下几种:FLAG_ACTIVITY_NEW_TASKFLAG_ACTIVITY_CLEAR_TOPFLAG_ACTIVITY_RESET_TASK_IF_NEEDEDFLAG_ACTIVITY_SINGLE_TOP主要的属性有:taskAffinitylaunchModeallowTaskR

主要的Intent标签值有以下几种:

FLAG_ACTIVITY_NEW_TASK

FLAG_ACTIVITY_CLEAR_TOP

FLAG_ACTIVITY_RESET_TASK_IF_NEEDED

FLAG_ACTIVITY_SINGLE_TOP

主要的属性有:

taskAffinity

launchMode

allowTaskReparenting

clearTaskOnLaunch

alwaysRetainTaskState

finishOnTaskLaunch

下面我们来看看它们的作用。

Affinities and new tasks

默认情况下一个应用程序中所有的activity相互之间都有一个affinity. 对于一个activity也可以设置一个单独的affinity. 当启动activity的Intent对象包含FLAG_ACTIVITY_NEW_TASK标志,并且

activity的allowTaskReparenting属性为"true".

FLAG_ACTIVITY_NEW_TASK 标志

一个新的activity在默认情况下在调用startActivity()的activity所属的task中启动,被推入和启动它的activity相同的activity栈中。但是,如果传给startActivity()的Intent对象包含

FLAG_ACTIVITY_NEW_TASK标志,则系统寻找一个不同的task来管理改这个新的activity。一般来说是一个新的task,不过也不一定是。如果已经存在一个和新activity有相同affinity的

task,则该activity在这个task中启动。否则启动一个新的task。

allowTaskReparenting属性

如果一个activity的allowTaskReparenting属性为"true",它可以从它启动时所在的task移动到另一个它具有affinity的task中。例如,假设一个旅游助理软件中有一个activity是用来报告天气的。它和

这个应用程序中的其它activity有相同的affinity(默认affinity)并且允许reparenting。某个activity启动天气预报器,因此它和这个activity属于同一个task。然而,当旅游应用程序进入前台时,天气

报告器会被重新分配到旅游应用程序的task中去。

如果对于一个用户来说,一个apk文件包含了多于一个的应用程序,很可能你需要为不同的activity赋予不同的affinity。

Launch modes

元素的launchMode属性可以有4种值:

"standard" (the default mode)

"singleTop"

"singleTask"

"singleInstance"

上一页  2 3 4 5 6 7 8 9 10 11 12  下一页

Tags:Android SDK 开发

编辑录入:coldstar [复制链接] [打 印]
赞助商链接