锘??xml version="1.0" encoding="utf-8" standalone="yes"?> ——銆奆acebook鏁堝簲銆嬭鍚?/span> 榪欎竴闃靛瓙鍖嗗寙鐪嬪畬浜?jiǎn)涓閬嶅ぇ鍗殑銆奆acebook鏁堝簲銆嬶紝浠庝功涓垜浠彲浠ヤ竴紿acebook榪欎釜浼犲浜у搧鐨勫惎鍔ㄥ拰鍙戝睍鍘嗙▼銆傛暣鏈功宸笉澶氭槸鎸夌収鏃墮棿欏哄簭鏉ュ睍寮鐨勶紝涔︾殑鏋舵瀯澶ц嚧鍙互鍒嗕負(fù)錛?/span> 鍓嶉潰鍗佷竴绔犱富瑕佽鍙欎簡(jiǎn)Facebook榪欎釜浜у搧鍜屽叕鍙鎬粠鏃犲埌鏈夌殑鍙戝睍鍘嗙▼錛?/span> 鍗佷簩銆佸崄涓変袱绔犱富瑕佹弿榪癋acebook鏈澶х殑鐩堝埄鏉ユ簮騫垮憡鐨勬潵鍘嗗強(qiáng)鍏跺箍鍛婂艦寮忥紱 鍗佸洓銆佸崄浜旂珷閲嶇偣鎻忚堪浜?jiǎn)Facebook鐨勫叏鐞冨寲鍜岄璧犲瀷緇忔祹鐞嗗康錛?/span> 鍗佸叚绔犳榪頒簡(jiǎn)2009騫翠竴騫翠腑Facebook鐨勫彂灞曪紱 鍗佷竷绔犻噸鐐規(guī)弿榪頒簡(jiǎn)椹厠鍜孎acebook璐┛濮嬬粓鐨勪駭鍝佺悊蹇點(diǎn)?/span> 浠ヤ笂鍒掑垎浠呬粎鏄垜綺楄涓閬嶇殑灝忕粨錛屾湰闈炲ぇ鍗殑瀹樻柟璇存硶錛屼負(fù)姝や粎渚涘弬鑰冦?/span> 闃呰榪欐湰涔︼紝鍙互璁╂垜榪欎釜浠庢潵娌℃湁鐢ㄨ繃Facebook鐨勪漢澶ц嚧浜?jiǎn)瑙acebook鍏徃鍜屼駭鍝佺殑涓夋潯綰匡細(xì)浜у搧綰褲佽繍钀ョ嚎鍜岃瀺璧勭嚎錛堜環(huán)鍊肩嚎錛夈?/span> 2004騫?鏈?鏃ョ涓嬈′笂綰夸駭鍝侊紝鍔熻兘浠呭寘鍚収鐗囥佺畝浠嬶紝娣誨姞濂藉弸鍜屾崊浜猴紱 2004騫?鏈堬紝澧炲姞鐣欒█澧欏拰緹ょ粍鍔熻兘錛?/span> 2005騫村錛屽紑鏀鵑珮?shù)腑鐢熸敞鍐屽Q屼絾鐙珛榪愯惀錛屼笌澶у閮ㄤ笉浜掗氾紱 2005騫?1鏈堝乏鍙籌紝涓婄嚎鍥劇墖鍔熻兘錛?/span> 2006騫?鏈堬紝楂樹(shù)腑閮ㄥ拰澶у閮ㄤ簰鑱旓紱 2006騫?鏈堬紝鑱屽満緗戠粶棣栨鐧誨満錛岄伃閬囧喎鍦猴紱 2006騫?鏈?鏃ワ紝涓婄嚎鍔ㄦ佹柊闂誨拰娑傞甫澧欙紱 2006騫?鏈?6鏃ワ紝闈㈠悜鍏ㄤ笘鐣屽紑鏀炬敞鍐岋紱 2007騫?鏈?4鏃8澶т細(xì)鐨勪婦鍔烇紝鎰忓懗鐫寮鏀懼鉤鍙扮殑涓婄嚎錛?涓湀鍚庯紝娉ㄥ唽鐨勫紑鍙戣呰揪鍒?5涓囷紝榪愯鐨勫簲鐢ㄧ▼搴忚揪鍒頒簡(jiǎn)2涓?鍗冧釜錛夛紱 2007騫?1鏈?鏃ワ紝鐏鍜岃嚜鍔╁湪綰垮箍鍛婇」鐩笂綰匡紱 2008騫存湯錛宖acebook鑱旇皧浼?xì)鍚姩锛?/span> 2009騫?鏈堬紝寮濮嬩豢Twitter錛?/span> 2009騫?鏈堬紝寮鏀句俊鎭祦API(stream API)錛屾剰鍛崇潃Facebook鐨勫彂灞曪紝灝嗛愭笎璧板嚭Facebook緗戠珯錛堟寜鎴戠殑鐞嗚В錛屽凡緇忎笂鍗囧埌浜у搧綺劇闃舵錛夈?/span> 2004騫?鏈?鏃ュ湪鍝堜經(jīng)涓婄嚎錛屽叾鍚庨愭鍒嗘壒鍦板湪甯告槬钘ら櫌鏍′腑閾哄紑錛屽湪絎竴鎵圭敤鎴風(fēng)殑鍙戝睍涓婂仛寰楃浉褰撴垚鍔燂紙浜у搧榪愯惀6鏈堝悗錛屽垰婊?0宀佺殑椹厠錛屽氨鏈夐鎶曟効鎰忎及鍊?000涓囩編鍏冿紝涓嶈繃涔熷彧鏄剰鍚戣屽凡錛夛紱 2004騫達(dá)紝鍦ㄩ潰涓翠紬澶氭牎鍥悓綾諱駭鍝佹椂錛岄┈鍏嬮噰鐢ㄤ簡(jiǎn)“鍖呭洿絳栫暐”錛?/span> 2004騫?1鏈?0鏃ワ紝榪愯惀10涓湀鍚庤繋鏉ョ櫨涓囨敞鍐岀敤鎴鳳紱 2004騫?2鏈堬紝鑻規(guī)灉鍏徃鎶樻墸鎺ㄥ箍騫垮憡媧誨姩錛屼負(fù)鍏徃鍒濇湡甯︽潵浜?jiǎn)绋冲畾鐨勫ぇ棰濊惀鏀跺Q?/span> 2005騫村錛屽叕鍙告昏甯曞厠琚В鑱岋紝鎰忓懗鐫Facebook鐨勮繍钀ュ皢璧板悜鏇村姞鑱屼笟鍖栵紙榪欐槸鎴戣嚜宸辯殑鐞嗚В錛夛紱 2005騫?0鏈堬紝娉ㄥ唽鐢ㄦ埛杈懼埌500涓囷紱 2005騫達(dá)紝杈懼埌500涓囦箣鍚庡嚑涓槦鏈燂紝鍥㈤槦浠庣敤鎴蜂滑棰戠箒鏇存敼綆浠嬪浘鐗囷紝寮曞彂鍥劇墖鍔熻兘涓婄嚎錛堣搗鍒濇墡鍏嬩集鏍煎茍鏈悓鎰忥紝浣嗘渶緇堣璇存湇錛屽埌2009騫存湯錛宖acebook鎷ユ湁300浜垮紶鍥劇墖錛屾垚涓烘嫢鏈夋渶澶氬浘鐗囩殑緗戠珯錛夛紱 2006騫?鏈?鏃ヤ笂綰垮姩鎬佹柊闂誨拰娑傞甫澧欙紙鍥劇墖鍔熻兘鐨勬垚鍔燂紝璁╀粬浠寲鎺樻垚鍔熺殑鍘熷洜錛屽熼壌RSS錛屾瀯寤轟簡(jiǎn)鍏ㄦ柊鐨勫姩鎬佹柊闂伙紝涓嶈繃鍚庢潵閬亣浜?jiǎn)鍗辨満锛岀敋鑷虫父琛屽Q屾墡鍏嬩集鏍肩瓑浜虹湅鍒頒簡(jiǎn)鍔ㄦ佹柊闂葷殑杞板姩鏁堝簲錛屾洿鍔犲潥瀹氫簡(jiǎn)鍔ㄦ佹柊闂葷殑姝g‘鎬э紝騫朵笖48灝忔椂鍐呮敾鍧氬鍔犱簡(jiǎn)闅愮鎺у埗鍔熻兘浠ヨ鐢ㄦ埛璁懼畾鍝簺鍔ㄦ佸彲浠ュ彂甯冨嚭鍘伙級(jí)錛?/span> 2006騫?鏈?6鏃ワ紝鍦ㄥ鉤鎭姩鎬佹柊闂誨悗錛屽紑鏀炬敞鍐岋紝鎰忓懗鐫瀵歸櫎浜?jiǎn)澶у銆侀珮?shù)腑鍜岃亴鍦哄悗锛岄潰鍚戝叏绀句細(xì)寮鏀撅紱 2006騫?0鏈堬紝姣忔棩娉ㄥ唽鏁拌揪5涓囷紝娉ㄥ唽鐢ㄦ埛杈懼埌浜?000涓囷紙12鏈堜喚錛屾椿璺冪敤鎴蜂負(fù)1200涓囷級(jí)錛?/span> 2007騫?鏈?4鏃ワ紝媧昏穬鐢ㄦ埛杈?400涓囷紝姣忓ぉ鏈?5涓囦漢鍔犲叆錛堜竴騫村悗錛岃繖涓暟鎹揪鍒頒簡(jiǎn)7000涓囷級(jí)錛?/span> 2007騫?1鏈?鏃ヤ笂綰跨殑鐏鐏鵑毦錛屾病鏈夎鍙?qiáng)鏃跺鐞嗗Q岀洿鍒?1鏈?9鏃ユ墠鏀硅繘浜у搧,浣嗘樉鐒朵負(fù)鏃跺凡鏅氫簡(jiǎn)錛岃浜嬩歡鏈緇堝鑷撮甯繍钀ュ畼鍦?008騫?鏈堢敱璋附灝?dāng)鏇夸唬鑼冨Q岃繖涓楂樼鍙樺姩錛屼嬌Facebook璧頒笂浜?jiǎn)寮哄姴鐨勻q垮憡鍜岀泩鍒╀箣璺紝騫朵竴涓捐繄鍏ヤ簡(jiǎn)錛?/span> 2008騫?鏈堬紝媧昏穬鐢ㄦ埛杈?.45浜匡紱 2009騫?鏈堜喚鐨勬柊鏈嶅姟鏉℃浜嬩歡錛屼粠璧峰垵鐨勫弽瀵瑰埌鏈鍚庢紨鍙樻垚璧炶錛?/span> 2009騫?鏈堬紝FaceBook鑺?000涓囩編鍏冩敹璐璅riendfeed錛堜竴瀹剁敱google鍓嶆槑鏄熺駭紼嬪簭鍛樺憳宸ュ紑鍙戠殑浜у搧錛夛紱鍚屾椂褰撴湀鐨勬椿璺冪敤鎴瘋揪鍒?.75浜匡紱 2010騫?鏈堬紝媧昏穬鐢ㄦ埛鏁頒負(fù)5浜褲?/span> 璧峰垵瀛﹂櫌媧劇殑铻嶈祫錛岄┈鍏嬪拰钀ㄧ淮鏋楀悇鎶曞叆1涓囩編鍏冭繍浣滐紝2004騫村鐢變簬钀ㄧ淮鏋楃殑鍐葷粨璐︽埛錛岄┈鍏嬪悗鏉ュ熷鴻嚜鎺忚叞鍖呰繎10涓囩敤浜庤繍浣滐紱 2004騫寸瀛e紑瀛﹀墠錛岃娉板皵絳変及鍊?00涓囩編鍏冿紝娉板皵絳変漢娉ㄨ祫60涓囩編鍏冿紱 2005騫?鏈堝墠鍚庯紝琚樋鍏嬪灝?dāng)鍚堜紮鍏忔及鍊?浜跨編鍏冿紝鍚夊.甯冮浄鑰惰仈鍚堝叕鍙告姇璧?370涓囩編鍏冿紱 2006騫?鏈堬紝琚及鍊?浜跨編鍏冿紝鎺ュ彈浜?750涓囩編鍏冪殑絎笁杞姇璧勶紝浠庤岀紦瑙d簡(jiǎn)褰撴椂浜斿叚鏈堜喚琚淮浜氬悍濮?浜跨編鍏冩敹璐殑鍙兘錛屼笉榪囩敱浜庤繘鍐涜亴鍦虹綉緇滅殑澶辨剰錛屽湪10浜跨編鍏冨敭鍑虹殑鍐沖畾涓憞鎽嗭紝寰堝彲鎯滈泤铏庡湪椹厠絳変漢鐘硅鮑涓嶅喅鏃舵病鏈変竴榧撲綔姘旀嬁涓嬶級(jí)錛?/span> 2007騫?0鏈?4鏃ワ紝琚及鍊?50浜跨編鍏冿紝寰蔣鎶曞叆2.4浜跨編鍏冭喘寰?.6%鑲′喚錛屾潕鍢夎瘹鎶曞叆6000涓囩編鍏冭喘寰?.4%鑲℃潈錛屽悗鏉ワ紝鏉庡槈璇氳拷鍔犱簡(jiǎn)6000涓囩編鍏冪殑鎶曡祫錛屽啀鍔犱笂鍏朵粬鐨勬姇璧勶紝榪欎竴杞瀺璧勮揪鍒?.75浜跨編鍏冿紝涓篎acebook鍚庢潵榪庢帴08騫村紑濮嬬殑嬈¤捶鍗辨満寮曞彂鐨勭粡嫻庤惂鏉′腑縐瘡浜?jiǎn)澶ч噺璧勬簮銆?/span> 涔︿腑鍜稿皯鎻愬埌鐩堝埄錛屼竴鏂歸潰Facebook鍓嶆湡鍙戝睍榪樻槸涓昏闈犺瀺璧勮岄潪鐩堝埄錛屼簩鏉ユ垜瑙夊緱铻嶈祫鍜岀泩鍒╅兘鏄弽搴斾駭鍝佷環(huán)鍊肩嚎鏂瑰悜鐨勪笢瑗匡紝鎵浠ュ氨娌″仛姊崇悊銆傚彟澶栫敱浜庢垚涔﹀湪2010騫達(dá)紝鎵浠acebook椋為熷彂灞曠殑鏈榪戜袱騫撮兘娌℃湁鍥婃嫭榪涘幓錛屾垜涔熸瘮杈冩噿錛屼笉鎯沖幓璇︾粏榪芥眰涓浜涜繎鏉ョ殑鏁版嵁榪藉姞鍒拌繖涓夋潯綰跨殑鍚庨潰錛屼笉榪囦粠涔︿腑鎵鍙欒堪錛屽凡緇忚灝藉湴灞曠ず浜?jiǎn)Facebook浠庢棤鍒版湁錛屼粠灝忓埌澶х殑鍙戝睍鍘嗙▼錛屽浜庢垜浠簡(jiǎn)瑙acebook鐨勪駭鍝佸彂灞曪紝宸茬粡瓚沖浜?jiǎn)銆?/span> 閫氳繃榪欐湰涔︼紝璁╂垜鎰熸?zhèn)熷堫C駭鍝佷笌浜у搧緇忕悊鐨勪竴浜涗笢瑗匡細(xì) Facebook榪欎釜浜у搧鐨勬垚鍔燂紝璺熷叾涓鐩存湁椹厠涓誨鏈夊叧緋伙紝鐩告瘮杈冧笌鍏跺畠寰堝澶у叕鍙告敹璐竴浜涙垚鍔熺殑浜у搧錛屾渶鍚庨兘璧板悜琛伴鐢氳嚦閿澹板尶榪癸紙璇稿闆呰檸鏇劇粡鏀惰喘鐨勫緢澶氭柊棰栫殑浜у搧錛屼互鍙?qiáng)鏈功涓彁鍒扮殑MySpace鐨勬敹璐級(jí)銆備駭鍝佺殑涓誨皢鎴栬呬駭鍝佷富灝嗙殑鎬濇兂鎴栬呮ⅵ鎯沖緢閲嶈錛岃嚜宸變粠浜嬭蔣浠跺紑鍙戜篃鏈夊緢闀夸竴孌墊椂闂翠簡(jiǎn)錛屾帴瑙﹁繃寰堝浜у搧鐨勫紑鍙戯紝鐗瑰埆鏄湪緗戞槗鐨勭粡鍘嗭紝璁╂垜鏇村姞娣變俊涓涓ソ鐨勪駭鍝侊紝蹇呴』瑕佹湁涓涓竴浠ヨ瘡涔嬬殑鐞嗗康鎴栨濇兂錛屽惁鍒欏緢瀹規(guī)槗璺戦鎴栬呮垚涓轟竴涓洓涓嶅儚錛屼竴涓搗鍒濆緢涓嶉敊鐨勬渶灝忎駭鍝侊紝鏈鍚庨兘浼?xì)鑴P浠f垚涓涓敤鎴峰帇鏍逛笉鎯崇敤鐨勮噧鑲夸駭鍝併?/span> 浜у搧鐨勭珛鎰忚鏄庣‘鑰屾繁榪滐紝浜у搧鐨勬墽琛岃寰簭娓愯繘銆侳acebook璧峰垵鐨勫姛鑳藉緢灝戯紝寰堝鍚岀被浜у搧鍙兘鍋氱殑姣擣acebook榪樿鏃╄繕瑕佸ソ錛屼絾鏄疐acebook涔嬫墍浠ヨ兘澶熻秴瓚婂埆鐨勪駭鍝侊紝鍚庢潵鑰呭眳涓婏紝涓庨┈鍏嬪潥鎸佺殑“鍋氭渶濂界殑銆佹渶綆鍗曠殑銆佽鐢ㄦ埛浠ユ渶鏂逛究鐨勬柟寮忓垎浜俊鎭殑浜у搧”鐨勬槑紜珛鎰忓拰Facebook涓姝ヤ竴姝ユ墡瀹炲湴鍦ㄥぇ瀛﹂櫌鏍℃墿灞曞埌鍏ㄤ笘鐣屾湁鐫蹇呯劧鐨勫叧緋匯備綔涓轟竴涓漢鍛㈤毦鍏嶄細(xì)鍔ㄦ憞鎰忓織錛岀壒鍒槸鍦ㄩ伃閬囧洶闅懼拰鍒╄鏃訛紝Facebook灝辨浘緇忓樊鐐硅鍗栫粰闆呰檸錛屽綋鏃跺叿鏈夐暱榪滄ⅵ鎯崇殑椹厠涔熷眻鏈嶄簡(jiǎn)錛屼絾鏄懡榪愪箣紲炶繕鏄湻欏鵑┈鍏嬶紝璁╁郊鏃剁殑闆呰檸閬亣浜?jiǎn)涓嬫尗鎶樺Q屽鏋滈偅涓椂鍊橣acebook鐪熺殑鍗栫粰浜?jiǎn)闆呰檸锛屾垨璁哥幇鍦ㄧ殑Facebook灝辨病鏈夐偅涔堟垚鍔熶簡(jiǎn)銆傚彟澶栭┈鍏嬭繕鏈変竴涓ⅵ鎯籌紝灝辨槸鏈熻Facebook鑳藉杈懼埌“鏁欎漢浠庡杽”鍜?#8220;璁〧aceBook鎴愪負(fù)浣夸笘鐣屽彉寰楁洿灝忕殑宸ュ叿”錛岃繖涓ⅵ鎯寵繙榪滆秴榪囦簡(jiǎn)鍏剁泩鍒╁拰寮鍔炰竴瀹朵紒涓氱殑鍔ㄥ姏錛屾垚涓篎acebook榪欎釜浜у搧鐢熺敓涓嶆伅鐨勪駭鍝佺簿紲炪?/span> 鏈功鍗佷簩銆佸崄涓変袱绔狅紝閲嶇偣鎻忚堪璋附灝?dāng)鍔犲叆Facebook鍚庡湪騫垮憡鏂歸潰鐨勬柟妗堬紝榪欎袱绔犳彁鍒頒簡(jiǎn)寰堝璇稿鏉″箙騫垮憡銆佸鎺ュ紡騫垮憡銆佷氦浜掑紡騫垮憡銆佹弧瓚抽渶姹傜殑騫垮憡銆佷駭鐢熼渶姹傜殑騫垮憡鍜屽湪綰胯嚜鍔╁箍鍛婄瓑絳夊箍鍛婃蹇電殑鎻愬嚭錛岃鎴戣繖涓悓鏍峰帉鎭跺箍鍛婄殑浜猴紝涔熷騫垮憡浜х敓浜?jiǎn)鍏喘懀锛岃鎴戠涙俊鍏跺疄騫垮憡浣滀負(fù)涓縐嶄俊鎭篃鏄彲浠ヨ揪鍒板弻璧㈢殑鏁堟灉錛岃屽茍闈炰互鍓嶇湅鐢?shù)瑙嗗墽鏃堕偅涔堝弽鎰燆q垮憡浜?jiǎn)锛堜絾鏄緢澶汄q垮憡鏂歸潰鐨勭煡璇嗙湡鐨勫尞涔忥紝甯屾湜鏈変漢鑳藉鎸囩偣涓涓嬶紝鎴栬呬粙緇嶄簺璧勬枡錛夈?/span> 鏈功铏界劧騫墮潪灝忚錛屼絾鏄浜虹湅璧鋒潵灝卞儚鏄湅灝忚涓鏍鳳紝寰堝浜虹墿錛岃濡傞┈鍏嬨佽帿鏂緇磋尐銆佽倴鎭┿佸悏濮嗗拰娉板皵絳夌瓑浜虹墿閮藉緢涓版弧錛屽鎴戠暀涓嬫繁鍒誨獎(jiǎng)鍝嶇殑榪樻槸鑲栨仼錛屼綔涓轟竴涓簤璁漢澹紝姝f槸鐢變簬浠栫殑鏉板嚭宸ヤ綔錛屽府鍔╅┈鍏嬩粬浠洟闃熺湡姝d粠灝忔墦灝忛椆錛岃繄鍚戜簡(jiǎn)浼佷笟鍖栬繘紼嬶紝鑲栨仼榪欎釜瑙掕壊鎵紨鐨勭粷瀵規(guī)槸Facebook鍙戝睍鍘嗙▼涓嬌寰楁牎鍥駭鍝佽劚棰栬屽嚭鐨勫熀鐭熾?/span> 鐩墠灝辨殏鏃跺皬鍝佸埌榪欓噷鍚э紝榪欐湰涔﹁繕鏄浉褰撲笉閿欑殑錛屾劅璋㈢伀鑺辯綉鎻愪緵鐢?shù)瀛愮増鏈?/span> 鍘熸枃璺緞錛?a >http://devmaze.wordpress.com/2011/01/18/using-com-android-internal-part-1-introduction/ Android鏈変袱縐嶇被鍨嬬殑API鏄笉鑳界粡鐢盨DK璁塊棶鐨勩? 絎竴縐嶆槸浣嶄簬com.android.internal鍖呬腑鐨凙PI銆傛垜灝嗙О涔嬩負(fù)internal API銆傜浜岀API綾誨瀷鏄竴緋誨垪琚爣璁頒負(fù)@hide灞炴х殑綾誨拰鏂規(guī)硶銆備粠涓ユ牸鎰忎箟涓婃潵璁詫紝榪欎笉鏄竴涓崟涓鐨凙PI錛岃屾槸涓緇勫皬鐨勮闅愯棌鐨凙PI錛屼絾鎴戜粛灝嗗叾鍋囪涓轟竴縐岮PI錛屽茍縐頒箣涓篽idden API銆? Hidden API 渚嬪瓙 浣犲彲浠ユ煡鐪嬩竴涓媋ndroid鐨勬簮鐮侊紝騫惰兘鎵懼埌涓浜涘彉閲忋佸嚱鏁板拰綾葷瓑錛岄兘琚獲hide灞炴ф爣璁頒簡(jiǎn)銆? 涓嬮潰鐨勪緥瀛愬氨鏄湪WifiManager錛圓PI 10婧愮爜錛変腑闅愯棌鐨勫彉閲忋? 鍙︿竴涓緥瀛愭槸鍦╓ifiManager錛圓PI 10婧愮爜錛変腑闅愯棌浜?jiǎn)setWifiApEnabled鍑芥暟銆? 鍥犳錛屽彧瑕佷綘鐪嬪埌@hide灞炴э紝閭d綘鐪嬪埌鐨勫氨鏄痟idden API銆? Internal鍜?/strong>hidden API鐨勫尯鍒?/strong> Hidden API涔嬫墍浠ヨ闅愯棌錛屾槸鎯抽樆姝㈠紑鍙戣呬嬌鐢⊿DK涓偅浜涙湭瀹屾垚鎴栦笉紼沖畾鐨勯儴鍒嗭紙鎺ュ彛鎴栨灦鏋勶級(jí)銆備婦涓緥瀛愶紝Bluetooth API鍦ˋPI 5錛?span>Android
2.0錛変笂鎵嶅紑鏀撅紱鍦ˋPI 3 鍜?涓婇兘鏄敤@hide灞炴ч殣钘忎簡(jiǎn)銆傚綋榪欎簺API琚獙璇佸拰娓呯悊鍚庯紝Google鐨勫紑鍙戣呬細(xì)縐婚櫎@hide灞炴э紝騫惰鍏跺湪API 5瀹樻柟鍖栥傚緢澶氬湴鏂瑰湪API 4 鍜?涔嬮棿鍙戠敓浜?jiǎn)鍙樺寲銆傚鏋滀綘鐨勭▼搴忎緷璧栨煇浜涢殣钘忕殑API錛屽綋鍏墮儴緗插埌鏂扮殑騫沖彴涓婃椂錛屽氨鏈夊彲鑳介櫡鍏ュ洶澧冦? 瀵逛簬internal API鏉ヨ錛屼粠鏉ラ兘娌℃湁璁″垝灝嗗叾寮鏀懼嚭鏉ャ傚畠?yōu)鏄疉ndroid鐨?#8220;鍐呴儴鍘ㄦ埧”錛屽寮鍙戣呮潵璇達(dá)紝搴旇灝嗗叾瑙嗕綔榛戠洅銆傚嚒浜嬮兘浼?xì)鏈夊彉鍖栫殑銆傚鏋滀綘渚濊禆鏌愪簺internal
API錛屼篃鏈夊彲鑳藉湪鏂扮殑Android release涓婏紝榪欎簺internal API鍙戠敓鍙樺寲錛屼粠鑰屼護(hù)浣犲け鏈涖? 鎬葷粨涓涓嬪尯鍒細(xì) Hidden API = 榪涜涓殑宸ヤ綔錛? Internal API = 榛戠洅錛? Internal鍜?/strong>hidden API鐨勭紪璇戞椂 vs. 榪愯鏃?/strong> 褰撲綘浣跨敤Android SDK榪涜寮鍙戠殑鏃跺欙紝浣犲紩鐢ㄤ簡(jiǎn)涓涓潪甯擱噸瑕佺殑jar鏂囦歡——android.jar銆傚畠浣嶄簬Android
SDK騫沖彴鐨勬枃浠跺す涓紙SDK_DIR/platforms/platform-X/android.jar錛屽叾涓紝X琛ㄧずAPI絳夌駭錛夈傝繖涓猘ndroid.jar縐繪帀浜?jiǎn)com.android.internal鍖呬腑鎵鏈夌殑綾伙紝涔熺Щ鎺変簡(jiǎn)鎵鏈夋爣璁版湁@hide鐨勭被錛屾灇涓撅紝瀛楁鍜屾柟娉曘? 浣嗗綋浣犲湪璁懼涓婂惎鍔ㄥ簲鐢ㄧ▼搴忔椂錛屽畠?yōu)畣鍔犺浇framework.jar錛堢畝鍗曟潵璇達(dá)紝瀹冨拰android.jar絳夊悓錛夛紝鑰屽叾鏈Щ鎺?span>internal
API鍜宧idden API銆傦紙浣嗗畠瀵瑰紑鍙戣呮潵璇達(dá)紝騫朵笉鑳藉弸濂藉湴璁塊棶錛屽洜姝わ紝鎴戝皢鍚戝ぇ瀹跺睍紺轟笉閫氳繃鍙嶅皠濡備綍浣跨敤榪欎簺API錛夈? 鍏充簬internal API錛岃繕鏈変竴浠朵簨闇瑕佽鏄庛侲clipse鐨凙DT鎻掍歡澧炲姞浜?jiǎn)涓涓澶栫殑瑙勫垯錛岄偅灝辨槸紱佹浣跨敤com.android.internal鍖呬腑鐨勪換浣曚笢瑗褲傛墍浠ワ紝鍗充究鏄垜浠彲浠ユ嬁鍒版渶鍘熷鐨刟ndroid.jar錛堟湭鍒犲噺鐗堬級(jí)錛屼篃娌℃湁杞繪澗鐨勫姙娉曢氳繃Eclipse浣跨敤榪欎簺internal API銆? 浣犲彲浠ヤ翰鑷鏌ヤ竴涓嬨傚垱寤轟竴涓柊鐨凙ndroid宸ョ▼錛堟垨鑰呬嬌鐢ㄥ凡鏈夌殑錛夈傛煡鐪嬩竴涓嬪畠寮曠敤鐨勭被搴擄紙鍙沖嚮project Properties
–> Java Build Path –> Libraries錛夈? 閲嶈鐨勬葷粨錛歩nternal鍜宧idden API鍦⊿DK涓槸鎸夌収涓鏍風(fēng)殑鏂瑰紡澶勭悊鐨勶紙閮戒粠android.jar涓Щ闄や簡(jiǎn)錛夛紝浣唅nternal API鏇存儴鐨勬槸錛岃繕琚獷clipse鐨凙DT鎻掍歡鏄懼紡紱佹浜?jiǎn)銆? 涓嶉氳繃鍙嶅皠浣跨敤internal鍜?/strong>hidden API 榪欎簺鏂囩珷鐨勭粓鏋佺洰鏍囨槸璁╁紑鍙戣呰兘澶熶笉閫氳繃鍙嶅皠浣跨敤Internal鍜孒idden API銆傚鏋滀綘瀹屾垚浜?jiǎn)鎺ヤ笅鏉ラ儴鍒嗕腑鎻彉q扮殑姝ラ錛屼綘灝嗚兘浣跨敤榪欎簺Internal鍜孒idden API錛屽鍚屽叕寮鐨凙PI銆備綘涓嶅啀闇瑕佷嬌鐢ㄥ弽灝勩? 娉細(xì)濡傛灉浣犳鍦ㄤ嬌鐢ㄨ繖浜涢潪鍏紑鐨?/strong>API錛屼綘蹇呴』鐭ラ亾錛屼綘鐨勭▼搴忔湁鐫鏋佸ぇ鐨勯闄┿傚熀鏈笂錛屾棤娉曚繚璇佸湪涓嬩竴嬈$殑Android OS鏇存柊鏃訛紝榪欎簺API涓嶈鐮村潖錛屼篃鏃犳硶淇濊瘉涓嶅悓鐨勮繍钀ュ晢鏈夌潃涓鑷寸殑琛屼負(fù)銆備綘鑷繁鍐沖畾鍚с?/strong> 鎺ヤ笅鏉ユ湁涓変釜鍦烘櫙錛? 1. Internal 鍜?span>hidden
API閮藉彲鐢紙鍦烘櫙A錛? 2. 鍙?span>Hidden
API鍙敤錛堝満鏅疊錛? 3. 鍙?span>Internal
API鍙敤錛堝満鏅疌錛? 鍦烘櫙A鏄疊銆丆鐨勬誨拰銆傚満鏅疊鏄渶綆鍗曠殑涓涓紙涓嶉渶瑕佸Eclipse鐨凙DT淇敼錛夈? 鍦烘櫙A錛氶槄璇籔art1, 2, 3, 4, 5 鍦烘櫙B錛氶槄璇籔art1, 2, 3, 5 鍦烘櫙C錛氶槄璇籔art1, 2, 3, 4, 5 鍘熸枃璺緞錛?a >http://devmaze.wordpress.com/2011/01/18/using-com-android-internal-part-2-hacking-around/ 鍦ㄤ笂涓綃囦腑錛屾垜瑙i噴浜?jiǎn)湄?fù)浠涔堟垜浠笉閫氳繃鍙嶅皠灝變細(xì)寰堥毦浣跨敤internal鍜宧idden API銆傝繖鏄洜涓篴ndroid.jar涓氨娌″寘鍚繖浜汚PI錛屽洜姝わ紝娌′漢鑳藉鍦ㄧ紪璇戞椂寮曠敤榪欎簺綾匯?/p>
榪欑瘒鏂囩珷灝嗘弿榪板浣曡繕鍘熸渶鍒濈殑android.jar銆傝繖灝嗗厑璁告垜浠儚浣跨敤鍏紑鐨凙PI閭f牱浣跨敤internal鍜宧idden API銆?/p>
濡備綍寰楀埌鍘熺増android.jar錛?/strong> 鎴戜滑闇瑕佷慨鏀筧ndroid.jar錛岃繖鏍峰畠鎵嶈兘鍖呭惈鎵鏈夌殑*.class鏂囦歡錛堝寘鎷琲nternal鍜宧idden API綾伙級(jí)銆傛湁涓ょ鍔炴硶錛?/p>
1錛?Android鏄竴涓紑婧愬伐紼嬨傛垜浠彲浠ヤ笅杞芥簮鐮佸茍鎼緩緙栬瘧鐜錛岃繖鏍峰畠?yōu)兏嶈兘绉婚櫎閭d簺internal鍜宧idden鐨勭被浜?jiǎn)銆傝繖涓姙娉曟瘮杈冨洶闅撅紱 2錛?姣忎釜妯℃嫙鍣ㄦ垨鐪熸満鍦ㄨ繍琛屾椂閮戒細(xì)鏈変竴涓瓑鍚宎ndroid.jar鐨勪笢瑗褲傛垜浠彲浠ヤ粠榪欓噷鎷垮埌jar鏂囦歡錛屾彁鍙栧嚭鍘熷鐨?class鏂囦歡錛屽茍鎷瘋礉鍒癆ndroid SDK鐨刟ndroid.jar涓?/p>
鎴戝皢閲囩敤鏂規(guī)2銆傚畠鏄撲簬寮濮嬶紝榪樹(shù)笉闇瑕佹惌寤篖inux鐜鍙?qiáng)缂栬瘧鐜绛夈?/p>
浠庤澶囦笂鑾峰彇framework.jar 浣犲彲浠ヤ嬌鐢ㄥ懡浠よ錛坅db pull錛変粠妯℃嫙鍣ㄦ垨璁懼涓婁笅杞芥枃浠訛紝鎴栬呬嬌鐢―DMS錛堝熷姪Eclipse鎴朣DK涓殑搴旂敤錛夈?/p>
娉ㄦ剰錛氭ā鎷熷櫒閫氬父鍦?dex鏂囦歡涓寘鍚唬鐮侊紝鑰岀湡鏈轟竴鑸湪浼樺寲鐗堢殑dex鏂囦歡涓寘鍚唬鐮?#8212;—odex鏂囦歡銆傛搷浣渙dex鏂囦歡姣旇緝鍥伴毦錛岃繖涔熸槸涓轟粈涔堟垜閫夋嫨妯℃嫙鍣ㄧ殑鍘熷洜銆?/p>
涓嶢ndroid SDK涓殑android.jar絳夊悓鐨勬枃浠舵槸framework.jar銆傝繖涓枃浠朵綅浜庤澶囩殑錛?system/framework/framework.jar adb pull /system/framework/framework.jar classes.dex姝f槸鎴戜滑闇瑕佺殑銆?/p>
鍒涘緩framework-classes.zip 棣栧厛錛屾垜浠渶瑕佹妸.dex鏂囦歡杞崲鎴?jar鏍煎紡銆備綘鍙互浣跨敤閫氱敤鐨勫伐鍏穌ex2jar銆傚彧闇瑕佽繍琛岋細(xì) dev2jar classes.dex 褰撹漿鎹㈢粨鏉熸椂錛屼綘搴旇寰楀埌浜?jiǎn)classes.dex.dex2jar.jar鏂囦歡銆傞噸鍛藉悕涓篺ramework-classes.zip銆備嬌鐢▃ip鏌ョ湅鍣紝榪涘叆鍒癴ramework-classes.zip/com/android/internal/錛?/p>
鎭枩浣狅紝浣犲凡緇忔嫢鏈変簡(jiǎn)鎵鏈夌殑.class鏂囦歡錛屽寘鎷琲nternal鍜?span>hidden
API錛堝敖綆℃埅鍥懼彧紜浜?jiǎn)internal閮ㄥ垎錛夈?/p>
鍒涘緩original-android.jar Android SDK鐨刟ndroid.jar浣嶄簬ANDROID_SDK/platforms/android-X/android.jar錛圶琛ㄧずAPI絳夌駭錛夈?/p>
鎷瘋礉android.jar鎴恈ustom-android.jar銆傝В鍘嬭嚦custom-android鏂囦歡澶廣傚皢framework-classes.zip涓墍鏈夌殑.class鏂囦歡鎷瘋礉鍒癱ustom-android鏂囦歡澶逛腑錛堜綘闇瑕佽鐩栨墍鏈夊凡緇忓瓨鍦ㄧ殑.class鏂囦歡錛夈?/p>
鐒跺悗錛屽帇緙ヽustom-android鏂囦歡鎴恛riginal-android.zip銆傞噸鍛藉悕涓簅riginal-android.jar銆?/p>
姝ラ鎬葷粨 1. 閫夋嫨浣犵殑鐩爣騫沖彴X 2. 鍒涘緩鐩爣騫沖彴X鐨勬ā鎷熷櫒 3. 鍚姩妯℃嫙鍣紝涓嬭澆/system/framework/framework.jar 4. 閲嶅懡鍚?span>framework.jar
-> framework.zip 5. 浠巉ramework.zip涓娊鍙朿lasses.dex 6. 浣跨敤dex2jar宸ュ叿錛屽皢鍏惰漿鎹㈡垚classes.jar 7. 閲嶅懡鍚?span>classes.jar
-> framework-classes.zip 8. 鎷瘋礉android.jar –> custom-android.zip 9. 瑙e帇custom-android.zip鑷砪ustom-android鏂囦歡澶?/p>
10. 灝唂ramework-classes.zip涓墍鏈夋枃浠舵嫹璐濊嚦custom-android鏂囦歡澶癸紙瑕嗙洊瀛樺湪鐨勬枃浠訛級(jí) 11. 鍘嬬緝custom-android鏂囦歡澶規(guī)垚original-android.zip 12. 閲嶅懡鍚?span>original-android.zip
-> original-android.jar 鎵撳畬鏀跺姛銆?/p>
鎬葷粨 鎴戜滑榪樺師浜?jiǎn)android.jar錛屼嬌鍏跺寘鍚墍鏈夌殑internal鍜?span>hidden
API鐨?class鏂囦歡銆傝繖鍙槸絎竴姝ャ備笅涓姝ュ皢鍒涘緩瀹氬埗鐨刟ndroid騫沖彴錛屼嬌鍏朵嬌鐢ㄦ湭鍒犺妭鐗堢殑android.jar錛屽茍灝嗗叾娣誨姞鍒癆ndroid SDK platforms鏂囦歡澶逛腑銆?/p>
鍘熸枃璺緞錛?a >http://devmaze.wordpress.com/2011/01/18/using-com-android-internal-part-3-custom-android-platform/ 鍦ㄤ笂涓綃囦腑錛屾垜宸茬粡灞曠ず浜?jiǎn)濡備綍鍒涘晦Z竴涓寘鍚墍鏈塱nternal鍜宧idden API鐨刼riginal-android.jar銆?/p>
鎺ヤ笅鏉ョ殑宸ヤ綔灝辨槸瑕佷慨鏀瑰凡緇忓瓨鍦ㄧ殑Android騫沖彴錛圫DK_DIR/platforms/platform-X/android.jar錛孹琛ㄧずAPI絳夌駭錛夈備綘鍙互鐩存帴浣跨敤Part2涓垱寤虹殑original-android.jar鏇挎崲android.jar銆備絾榪欐牱鐨勮瘽錛屼綘鐨勬墍鏈夊伐紼嬮兘灝嗙洿鎺ヤ嬌鐢╥nternal鍜宧idden API鑰屾病鏈変換浣曢檺鍒躲傝繖涓嶅鏂逛究錛屽洜涓哄湪澶氭暟鐨勫伐紼嬩腑浣犱笉甯屾湜榪欐牱銆傜敋鑷籌紝浣犲彲鑳芥洿甯屾湜紱佹榪欎簺API錛圓DT/android.jar鐨勯粯璁よ涓猴級(jí)銆備絾瀵逛簬涓浜涚壒瀹氱殑宸ョ▼錛屼綘甯屾湜鑳藉浣跨敤榪欎簺internal鍜宧idden API銆?/p>
涓轟簡(jiǎn)杈懼埌榪欐牱鐨勭伒媧繪э紝浣犻渶瑕佸垱寤轟竴涓柊鐨勮嚜瀹氫箟鐨凙ndroid騫沖彴銆傚綋涓嶉渶瑕佽闂甶nternal鍜?span>hidden
API鏃訛紝浣犲彧闇浣跨敤鍘熸湁鐨凙ndroid騫沖彴銆傚綋浣犱嬌鐢ㄨ繖浜汚PI鏃訛紝浣犱嬌鐢ㄨ嚜瀹氫箟鐨凙ndroid騫沖彴銆?/p>
Android SDK鏂囦歡澶圭粨鏋?/strong> 璁╂垜浠湅涓涓?span>Android
SDK鏍?wèi)鏄浣暰l勭粐鐨勶細(xì) 鎴戜滑闇瑕?#8220;platforms”鏂囦歡澶廣傜湅涓涓嬮噷闈細(xì) 榪欓噷鍒楀嚭浜?jiǎn)鏀寔鐨凙ndroid騫沖彴銆?/p>
鐜板湪錛屾垜浠湅涓涓嬪畠鏄浣曚笌Eclipse璁懼畾鍏寵仈鐨勩傞夋嫨浣犵殑宸ョ▼錛屽彸鍑?#8211;> Properties –> Android銆備綘灝嗕細(xì)鐪嬪埌涓緇勬敮鎸佺殑Android騫沖彴錛堜笌…/platforms/folder鐩鎬技錛夈備笅闈㈡槸鎴浘錛?/p>
鍒涘緩鏂扮殑騫沖彴 涓轟簡(jiǎn)鍒涘緩涓涓柊鐨勫鉤鍙幫紝鎴戜滑闇瑕佹嫹璐漚ndroid-9鏂囦歡澶?-> android-9-internals銆傝鎴戜滑鍋氫竴浜涗慨姝o細(xì) 1. 鍒犻櫎鍏朵腑鐨刟ndroid.jar 2. 鎷瘋礉original-android.jar錛屽茍鏀瑰悕涓篴ndroid.jar 3. 淇敼build.prop鏂囦歡錛?/p>
… ro.build.version.sdk=9 -> ro.build.version.sdk=-9 … ro.build.version.release=2.3 ->
ro.build.version.release=2.3.extended … 閲嶅惎Eclipse銆傚茍紜浣犺兘鐪嬪埌鏂扮殑騫沖彴銆備笅闈㈡槸鎴戞墍鐪嬪埌鐨勶細(xì) 涓轟粈涔堟垜閫夋嫨API絳夌駭涓?9錛熻繖鏄洜涓哄畠蹇呴』鏄竴涓暟瀛楋紝鑰屼笖瀹冧笉鑳芥槸9錛堟垨鑰呭叾瀹冨凡緇忓瓨鍦ㄧ殑API絳夌駭錛夈傚惁鍒欙紝浣犺嚜瀹氫箟鐨勫鉤鍙板皢涓嶈兘琚嬌鐢紙瀹冨湪鍒楄〃閲屽彲瑙侊紝浣嗛変腑鍚庝篃涓嶈兘姝e父宸ヤ綔錛岀紪璇戞椂浠嶇劧浣跨敤鐩稿簲API絳夌駭鐨勫師濮嬪鉤鍙幫級(jí)銆?/p>
涓嬮潰鏄紩鐢ㄧ被搴撶殑鎴浘錛堝綋鍓嶅伐紼嬮変腑浜?jiǎn)鑷畾涔夌殑邈^鍙幫級(jí)錛?/p>
鎬葷粨 鍦ㄤ笂涓綃囦腑錛屾垜宸茬粡鍛婅瘔浣犲浣曞垱寤轟竴涓湭鍒犺妭鐗堢殑android.jar銆傚湪榪欎竴綃囦腑錛屾垜鍚戜綘灞曠ず浜?jiǎn)濡備綍鍒涘晦Z竴涓嚜瀹氫箟鐨凙ndroid騫沖彴錛屽茍鍦ㄥ叾涓嬌鐢╫riginal-android.jar銆傝繖瀵逛簬hidden API鏉ヨ宸茬粡瓚沖浜?jiǎn)銆備絾瀵逛簬internal
API鏉ヨ錛岃繕闇瑕佸彟涓姝ャ傝繖鏄洜涓篈DT浠嶇劧涓嶅厑璁鎬嬌鐢╟om.android.internal鍖呬腑鐨勭被錛堝弬瑙佷笂鍥句腑鐨?#8220;forbidden”璁塊棶瑙勫垯錛夈備笅涓鑺傛垜灝嗗悜浣犲睍紺哄浣曞畾鍒禔DT鏉ュ厑璁鎬嬌鐢╥nternal鍖呬腑鐨勭被銆?/p>
============鍗庝附鐨勫垎鍓茬嚎============= 鍦ㄥ疄闄呯殑鎿嶄綔榪囩▼涓紝鎴戝垱寤虹殑鑷畾涔夌殑android.jar錛圓PI 10錛変笉鑳借Eclipse鎴愬姛鍔犺澆錛屼細(xì)鍑虹幇浠ヤ笅鐨勯敊璇錛屽鍚岀綉绔欎笂鍏跺畠浜烘搷浣滅殑緇撴灉涓鏍鳳紝鏈熷緟瑙e喅鏂規(guī)銆?/p>
涓嶈繃錛屼綔鑰呮彁渚涗簡(jiǎn)鍙敤鐨勮嚜瀹氫箟鐨刟ndroid.jar錛屽鏋滀笉鎯寵嚜宸卞皾璇曠殑璇濓紝鍙互鐩存帴浠庣綉绔欎笅杞斤紝鍦板潃灝嗗湪Part5涓粰鍑猴紝紼嶇瓑銆?/p>
鍘熸枃璺緞錛?span>http://devmaze.wordpress.com/2011/01/18/using-com-android-internal-part-4-customizing-adt/
鍦ㄤ笂涓綃囨枃绔犻噷錛屾垜鎻忚堪浜?jiǎn)濡備綍鍒涘晦Z竴涓嚜瀹氫箟鐨刼riginal-android.jar錛屼互鍙?qiáng)濡備綍鍒涘晦Z竴涓嚜瀹氫箟鐨凙ndroid騫沖彴鏉ヤ嬌鐢ㄨ繖涓猳riginal-android.jar銆傝繖瀵笻idden API鏉ヨ瓚沖浜?jiǎn)銆備絾瀵?span>Internal
API鏉ヨ錛屼粛鐒惰繕鏈変竴涓寘琚憋細(xì)Eclipse鐨凙DT鎻掍歡銆傚畠闄愬埗浣跨敤com.android.internal鍖呬腑鐨勪換浣曠被銆? 鏈夊嚑縐嶆柟娉曞彲浠ヨВ鍐寵繖涓闂檺鍒躲? 1錛?ADT婧愮爜鍙互涓嬭澆銆傚洜姝わ紝鍒犻櫎/淇敼浠g爜涓殑鏌愪簺浠g爜錛屼粠鑰岀紪璇戝嚭涓涓柊鐨凙DT鏄彲浠ョ殑銆傞夯鐑?chǔ)鐨勬槸浣犻渶瑕佹惌寤?4浣峀inux緋葷粺錛屼笅杞芥簮鐮侊紝緙栬瘧絳夈傚畠闇瑕佽姳璐逛竴浜涙椂闂淬傚綋鏈夋柊鐨凙DT鐗堟湰鏃訛紝浣犻渶瑕侀噸鏉ヤ竴閬嶃? 2錛?鍙﹀鐨勬柟娉曞氨鏄慨鏀笰DT鐨勫瓧鑺傜爜銆傜敤涓涓被浼間簬“com/android/internax/**”鐨勫瓧絎︿覆鏇挎崲“com/android/internal/**”銆? 絎簩縐嶆柟娉曞彲浠ョ敤鑴氭湰瀹炵幇銆傚茍涓斾笉闇瑕佽闂簮鐮佷互鍙?qiáng)鍙湪Windows涓婃搷浣溿傝繖涔熸槸涓轟粈涔堟垜鍦ㄨ繖綃囦腑閫夌敤絎簩縐嶈В鍐蟲(chóng)柟妗堢殑鍘熷洜銆? 淇敼ADT鐨勫瓧鑺傜爜 榪涘叆Eclipse鐨刾lugins鏂囦歡澶廣傛壘鍒版枃浠跺悕鐪嬭搗鏉ュ儚“com.android.ide.eclipse.adt_*.jar”鐨勬枃浠躲傚浠戒竴涓嬭繖涓枃浠訛紙浠ラ槻涓棿鏈夐敊璇彂鐢燂級(jí)銆傚茍鎷瘋礉榪欎釜鏂囦歡鍒頒竴涓?#8220;experimental”鏂囦歡澶癸紝鍦ㄨ繖閲岋紝鎴戜滑瑕佸畬鎴愬鍏跺瓧鑺傜爜鐨勪慨鏀廣? 閲嶅懡鍚?.jar涓?.zip銆傝В鍘嬭繖涓枃浠跺埌鍗曠嫭鐨勬枃浠跺す銆傚弬鐪嬩互涓嬪浘鐗囷細(xì) 鐜板湪錛岃繘鍏ュ埌com/android/ide/eclipse/adt/internal/project瀛愭枃浠跺す銆? 鎵懼埌AndroidClasspathContainerInitializer.class鏂囦歡銆? 榪欎釜鏂囦歡鍖呭惈“com/android/internal/**”瀛楃涓層傛帴涓嬫潵灝辨槸瑕佹浛鎹㈣繖涓瓧絎︿覆錛屼緥濡?#8220;com/android/internax/**”銆傛敼鍙樺瓧絎︿覆鐨勯暱搴︾悊璁轟笂鏄畨鍏ㄧ殑錛屼絾鏈濂借繕鏄浛鎹㈠叾涓殑涓涓瓧姣嶏紝騫朵繚鎸侀暱搴︿竴鑷淬? 鎴戜嬌鐢╪otepad++淇敼鐨勶紝瀹冩敮鎸侀潪鍙嵃鍒峰瓧絎︼紝鍥犳鍦ㄥ鍏朵慨鏀規(guī)椂錛屼笉瑕佽Е紕?lì)C慨鏀歸潪鍙嵃鍒峰瓧絎︺? 褰撳仛瀹岃繖涓紝淇濆瓨鏂囦歡銆傚帇緙╄繖涓枃浠跺す錛屼繚璇佹枃浠跺悕涓庡師濮嬫枃浠朵竴妯′竴鏍楓傚湪鎴戣繖閲岋紝鏂囦歡鍚嶆槸錛歝om.android.ide.eclipse.adt_8.0.1.v201012062107-82219.zip銆? 娉ㄦ剰錛氱‘淇濆帇緙╂枃浠剁殑姝g‘鎬с傛瘮杈冨師濮嬫枃浠跺拰淇敼鏂囦歡鐨勬牴鏂囦歡緇撴瀯銆? 鐜板湪錛岀敤淇敼鍚庣殑鐗堟湰鏇挎崲鍘熸潵鐨凙DT鐨?.jar鏂囦歡銆傜劧鍚庯紝鍚姩Eclipse銆? 鍦ㄤ嬌鐢ㄥ簱紿楀彛錛屼綘搴旇鐪嬪埌涓嬮潰鐨勬牱瀛愶紝涓鍒囬兘鍙樺緱閭d箞鐨勭編濂斤細(xì) 姝ラ鎬葷粨 1. 鍏抽棴Eclipse 2. 浠嶦clipse鐨刾lugin鏂囦歡澶逛腑鎷瘋礉鍑篈DT鎻掍歡鐨刯ar鏂囦歡 3. 閲嶅懡鍚?span>.jar
-> .zip錛岀劧鍚庤В鍘嬭嚦鐙珛鐨勬枃浠跺す 4. 鎵懼埌com/android/ide/eclipse/adt/internal/project/AndroidClasspathContainerInitializer.class鏂囦歡 5. 鐢?#8220;com/android/internax/**”鏇挎崲“com/android/internal/**” 6. 鍘嬬緝榪欎釜鏂囦歡澶? 7. 閲嶅懡鍚?span> .zip
-> .jar 8. 鐢ㄤ慨鏀瑰悗鐨刯ar鏇挎崲鍘熷鐨凙DT jar鏂囦歡 9. 鍚姩Eclipse 緇撹 榪欐槸涓嶄嬌鐢ㄥ弽灝勪篃鑳戒嬌鐢?span>Internal
API鐨勬渶鍚庝竴姝ャ?/p>
鍘熸枃璺緞錛?span>https://devmaze.wordpress.com/2011/01/19/using-com-android-internal-part-5-summary-and-example/
涓轟簡(jiǎn)鑳藉浣跨敤Internal鍜孒idden API錛屼綘闇瑕侊細(xì) 1. 鍒涘緩鑷畾涔夌殑original-android.jar錛屽寘鍚墍鏈夌殑.class鏂囦歡 2. 鍒涘緩鑷畾涔夌殑Android騫沖彴鏉ヤ嬌鐢╫riginal-android.jar 3. 淇敼ADT鎻掍歡錛屽厑璁鎬嬌鐢╟om.android.internal鍖咃紙鍙負(fù)Internal API錛? 4. 鍒涘緩鏂扮殑宸ョ▼錛屽紩鐢ㄨ嚜瀹氫箟鐨凙ndroid騫沖彴錛堟湰鏂囦腑鐨勪緥瀛愶級(jí) 鍦ㄦ湰鏂囦腑錛屾垜灝嗗悜浣犱滑灞曠ず濡備綍浣跨敤閭d簺Internal鍜孒idden API銆? 姝ゅ錛屽湪鏈枃鐨勭粨灝撅紝鎴戝垪鍑轟簡(jiǎn)涓浜涜嚜瀹氫箟鐨凙ndroid騫沖彴錛屽畠浠兘鍖呭惈I(xiàn)nternal鍜?span>Hidden
API銆傛垜闄勫甫浜?jiǎn)瀹冧滑锛屾槸湄?fù)浜?jiǎn)鍙兘浣犱笉鎯宠姳澶鏃堕棿鍦q欐柟闈紝浣嗗張鎯沖揩閫熺殑灝濊瘯浠涔堛? 渚嬪瓙 鍒涘緩涓涓柊宸ョ▼錛岄夋嫨2.3.extender騫沖彴錛? 涓嬮潰鏄唬鐮侊細(xì) 榪欎釜浠g爜浣跨敤浜?span>Internal
API錛圥owerProfile錛夊拰Hidden API錛坕sWifiApEnabled錛夈傛垜涓嶇敤浣跨敤鍙嶅皠灝辮兘緙栬瘧騫惰繍琛岃繖浜涗唬鐮併? 鑷畾涔夊鉤鍙?/strong> 涓嬮潰鏈変簺騫沖彴錛屾槸鎴戜負(fù)鑷繁鍒涘緩鐨勩傚彧鐢ㄦ嫹璐濆畠浠埌SDK_DIR\platforms鏂囦歡澶逛笅銆傝繖鍙槸璁〩idden API鍙敤銆傚浜?span>Internal
API錛屼綘闇瑕佷慨鏀逛綘鐨凙DT鎻掍歡銆? API 3錛?span>http://www.megaupload.com/?d=S1F2MKYZ
API 4錛?span>http://www.megaupload.com/?d=VUCTRI3Y
API 7錛?span>http://www.megaupload.com/?d=7ITNILBK
API 8錛?span>http://www.megaupload.com/?d=EXT5FKKT
API 9錛?span>http://www.megaupload.com/?d=EXT5FKKT
API 10錛?span>http://www.megaupload.com/?d=FCV78A9M
==============鍗庝附鐨勫垎鍓茬嚎=============
鎴戝皾璇曚簡(jiǎn)鍏朵腑鐨勫嚑涓嚜瀹氫箟騫沖彴錛屽彂鐜幫紝internal 鍜宧idden API鐪熺殑鏄彲鐢ㄤ簡(jiǎn)錛屼絾涔熸湁涓浜涙剰澶栫殑闂錛屽AlertDialog.Builder(Context
context)灞呯劧璇碈ontext鍙傛暟鏄浣欑殑銆傘? 娌¤姳鏃墮棿鍘葷爺絀朵負(fù)浠涔堜細(xì)榪欐牱錛屽鏋滃摢浣嶇闉嬬煡閬撳師鍥狅紝鍛婅瘔鎴戝搱~~ 鍋氬ソ浜у搧
鍏ㄤ功姒傛嫭
浜у搧鐨勪笁鏉$嚎
浜у搧綰胯剦緇?/span>
榪愯惀綰胯剦緇?/span>
铻嶈祫錛堜環(huán)鍊鹼級(jí)綰胯剦緇?/span>
灝忓搧
浣跨敤internal錛坈om.android.internal錛夊拰hidden錛園hide錛堿PIs
Part One
Part 2
褰揻ramework.jar浠庤澶囦笂涓嬩笅鏉ヤ箣鍚庯紝閲嶅懡鍚嶄負(fù)framework.zip騫惰В鍘嬪埌鐙珛鐨勬枃浠跺す涓紝鐪嬭搗鏉ユ槸榪欎釜鏍峰瓙鐨勶細(xì)
Part 3
Part 4
Part 5
鍦ㄩ潪渚濊禆浜?/span>UI鐨?/span>S60紼嬪簭涓紝涔熷氨鏄笉寤虹珛鍦ㄦ帶浠剁幆澧冨熀紜涓婄殑紼嬪簭錛屾瘮濡傛帶鍒跺彴搴旂敤紼嬪簭錛岀嫭绔嬬殑綰跨▼絳夈傚湪榪欎簺紼嬪簭涓渶瑕佸脊鎻愮ず淇℃伅鐨勬椂鍊欙紝灝變笉鑳界洿鎺ョ敤鍩轟簬CCoeControl鐨勪換浣?/span>UI綾諱簡(jiǎn)錛屽洜涓鴻繖浜涚▼搴忎腑娌℃湁渚涘吇CCoeControl鐢熷瓨鐨?/span>CCoeEnv鐜錛屽綋鐒朵笉瀚岀箒鐞愶紝鍦ㄧ▼搴忕殑main鍑芥暟涓儚鑷繁鍒涘緩媧誨姩瑙勫垝鍣ㄤ竴鏍峰幓鍒涘緩CCoeEnv鐜涔熸槸涓涓彲琛岀殑鏂規(guī)硶錛屼絾鏄繖瓚呭嚭鏈枃鐨勬秹鍙?qiáng)鑼冨涍_(dá)紝鏈枃鎻愬嚭鐨勬槸涓嶅垱寤?/span>CCoeEnv鐜鎯呭喌涓嬶紝閫氳繃RNotifier鎴?/span>RNotifier鐨勬淳鐢熺被鏉ュ疄鐜板脊鎻愮ず淇℃伅銆?/span>
鍏跺疄RNotifier鍜?/span>RFs涓鏍烽兘鏄淳鐢熻嚜RSessionBase錛屾墍浠ヤ嬌鐢ㄨ搗鏉ヤ篃鏄被浼肩殑錛屼笅闈㈢粰鍑轟竴涓渶綆鍗曠殑渚嬪瓙浠g爜
RNotifier vNotifier;
User::LeaveIfError(vNotifier.Connect());
CleanupClosePushL(vNotifier);
//title and context
TBuf<256> title;
TBuf<256> context;
title.Copy(_L("info"));
context.Copy(_L("data"));
// Button text
_LIT(KYesButton, "Yes");
_LIT(KNoButton, "No");
// Display the dialog
TInt button;
TRequestStatus status;
vNotifier.Notify(title, context, KYesButton, KNoButton, button, status);
User::WaitForRequest(status);
// destroy notifier
CleanupStack::PopAndDestroy();
榪愯涓婅堪浠g爜鍙互寰楀埌濡備笅鐨勫璇濇鎻愮ず
RNotifier鏈韓鍜?/span>RFs鏄熀浜?/span>Symbian OS鐨勶紝鑰岄潪涓撳睘浜?/span>S60騫沖彴鐨勶紝鎵浠ュ湪UIQ絳夊鉤鍙頒笂緇х畫(huà)鍙互浣跨敤RNotifier錛岃繖鍦ㄨ法騫沖彴寮鍙戜笂鐩稿綋鐨勪究鍒╋紝鐪佸幓浜?jiǎn)绉绘鐨勮嫤鎭笺?/span>
涓婇潰渚嬪瓙浠g爜鏄渶綆鍗曠殑涓縐?/span>RNotifier鐨勫簲鐢紝涓轟簡(jiǎn)寮鍙戠殑鏂逛究鍜屾彁楂樺紑鍙戞晥鐜囷紝S60灝佽浜?jiǎn)涓濂?/span>CAknGlobal*鍜?/span>RAknKeyLock絳夌殑綾諱緵絎笁鏂瑰紑鍙戣呬嬌鐢紝鐢變簬鍦?/span>UIQ騫沖彴涓婃垜娌℃湁娑夊強(qiáng)榪囷紝鑰屼笖鐩墠鍊熷姪S60鐨勫紑婧愪唬鐮侊紝鎴戝氨鎷夸竴涓?/span>S60涓殑鐩稿叧綾?/span>CAknGlobalConfirmationQuery鏉ヨ鏄庝笅鍚э紝鍦ㄦ簮浠g爜sf\mw\classicui\uifw\AvKon\notifsrc璺緞涓嬮潰鏈夊涓被浼肩被鐨勬簮浠g爜銆傚叾瀹?/span>CAknGlobalConfirmationQuery闄や簡(jiǎn)浜岄樁孌墊瀯閫犲錛屾渶涓昏鐨勫氨鏄?/span>ShowConfirmationQueryL銆?/span>UpdateConfirmationQuery銆?/span>CancelConfirmationQuery涓変釜鍑芥暟錛岃繖涓変釜鍑芥暟鐨勪唬鐮佺綏鍒楀涓?/span>
/**
* Shows global Confirmation query synchronously
*
* @param aStatus TRequestStatus which will be completed when user
* selects one item from the list query.
* @param aPrompt Prompt text
* @param aSoftkeys Softkey resource
* @param aAnimation Animation resource
* @param aTone Tone id
* @param aDismissWithAllKeys If set ETrue the query gets dismissed with all
* keypresses
*/
EXPORT_C void CAknGlobalConfirmationQuery::ShowConfirmationQueryL(
TRequestStatus& aStatus,
const TDesC& aPrompt,
TInt aSoftkeys,
TInt aAnimation,
const TDesC& aImageFile,
TInt aImageId,
TInt aImageMaskId,
CAknQueryDialog::TTone aTone,
TBool aDismissWithAllKeys )
{
delete iBuffer;
iBuffer = NULL;
iBuffer = CBufFlat::NewL(KBufferGranularity);
RBufWriteStream bufStream;
bufStream.Open(*iBuffer);
CleanupClosePushL(bufStream);
bufStream.WriteInt
if ( aDismissWithAllKeys )
{
bufStream.WriteInt
}
else
{
bufStream.WriteInt
}
bufStream.WriteInt
bufStream.WriteInt
bufStream.WriteInt
bufStream.WriteInt
bufStream.WriteInt
bufStream.WriteInt
bufStream << aPrompt;
bufStream.WriteInt
if (aImageFile.Length())
{
bufStream << aImageFile;
}
bufStream.WriteInt
bufStream.WriteInt
if (iAknSDData)
{
bufStream.WriteInt
bufStream << *iAknSDData;
}
else
{
bufStream.WriteInt
}
iBufferPtr.Set(iBuffer->Ptr(0));
iNotify.StartNotifierAndGetResponse(aStatus, KAknGlobalConfirmationQueryUid,
iBufferPtr, iResultBuf);
CleanupStack::PopAndDestroy(); // bufStream
}
璇ュ嚱鏁扮敤浜庢樉紺哄璇濇銆傚叾涓昏鐨勫疄鐜板氨鏄皟鐢?/span>RNotifier鐨?/span>StartNotifierAndGetResponse鍑芥暟銆?/span>
EXPORT_C void CAknGlobalConfirmationQuery::UpdateConfirmationQuery( TInt aSoftkeys )
{
iSoftkeys = aSoftkeys;
iCmd = EAknUpdateGlobalQuery;
TPckgBuf<SAknNotifierPackage<SAknGlobalMsgQueryParams> > pckg;
pckg().iParamData.iCmd = iCmd;
pckg().iParamData.iSoftkeys = iSoftkeys;
TPckgBuf<TInt> ret;
iNotify.UpdateNotifier( KAknGlobalConfirmationQueryUid, pckg, ret);
}
璇ュ嚱鏁扮敤浜庡璇濇浜х敓鍚庢洿鏂板璇濇錛屽叾鍔熻兘灝辨槸浣跨敤鍑芥暟RNotifier::UpdateNotifier銆?/span>
EXPORT_C void CAknGlobalConfirmationQuery::CancelConfirmationQuery()
{
if (iBuffer)
{
iNotify.CancelNotifier(KAknGlobalConfirmationQueryUid);
delete iBuffer;
iBuffer = 0;
}
}
璇ュ嚱鏁扮敤浜庡璇濇浜х敓鍚庣▼搴忓彇娑堝璇濇錛屽叾鍔熻兘灝辨槸浣跨敤鍑芥暟RNotifier::CancelNotifier銆?/span>
閫氳繃浠ヤ笂涓や釜浠g爜錛屾垜浠樊涓嶅瀵?/span>RNotifier綾葷殑浣跨敤浜?jiǎn)瑙d簡(jiǎn)锛屼絾鏄瘶q欎釜RNotifier鍒板簳鏄浣曞疄鐜板脊鍑轟竴涓璇濇鍛紵
鍏跺疄RNotifier鐨勭湡姝e疄鐜版槸閫氳繃Symbian OS鐨?/span>C/S鏋舵瀯鏉ュ疄鐜扮殑錛岃繖涓湪鏂囩珷寮綃囨彁鍒?/span>RNotifier鍜?/span>RFs涓鏍鋒淳鐢熻嚜RSessionBase灝卞凡緇忓煁涓嬩簡(jiǎn)浼忕瑪銆?/span>
RNotifier鐨勬簮浠g爜瀹炵幇浣嶄簬sf\os\kernelhwsrv\kernel\eka\euser\us_ksvr.cpp錛岃繖涓唬鐮佷腑榪樻湁RChunk銆?/span>RDevice鍜?/span>RHandleBase絳夌瓑鍩虹綾葷殑瀹炵幇浠g爜銆?/span>
RNotifier鐨勬湇鍔″櫒綾?/span>CNotifierServer鍜屾湇鍔″櫒浼?xì)璇濋氶亾綾?/span>CNotifierSession浠ュ強(qiáng)鐩稿叧鐨勫叾浠栫被鍒欎綅浜?/span>sf\os\kernelhwsrv\kernel\eka\ewsrv\ws_main.cpp涓傝繖浜涚被鐨勫0鏄庡垯浣嶄簬sf\os\kernelhwsrv\kernel\eka\include\twintnotifier.h鏂囦歡涓?/span>
鍐嶆繁鍏ヨ繘鍘伙紝灝變細(xì)浜?jiǎn)瑙e?/span>RConsole綾伙紝榪欎釜綾葷殑澹版槑浣嶄簬sf\os\kernelhwsrv\kernel\eka\include\e32twin.h涓紝浠g爜瀹炵幇浣嶄簬sf\os\kernelhwsrv\kernel\eka\ewsrv\co_cli.cpp涓傛悶浜?jiǎn)鍗婂ぉ鍙堥亣鍒颁竴涓?/span>C/S鏋舵瀯錛岃繖涓?/span>Client鐨?/span>Server鏄?/span>CWsServer錛屽叾閫氶亾涓?/span>CWsSession錛屽湪CWsSession鍐呮渶涓昏鐨勭被鏄?/span>CWsWindow錛岃繖鍑犱釜綾葷殑澹版槑浣嶄簬sf\os\kernelhwsrv\kernel\eka\include\ws_std.h錛岃岃繖鍑犱釜綾葷殑瀹炵幇浠g爜鍒欏張緇曞洖鍒?/span>sf\os\kernelhwsrv\kernel\eka\ewsrv\ws_main.cp涓幓浜?jiǎn)銆?/span>
濂戒簡(jiǎn)錛岃嚜宸辨殏鏃跺彧鑳借蛋鍒拌繖涓姝ヤ簡(jiǎn)錛屼笂闈㈠彧鏄畝鍗曠粰鍑轟竴浜涙簮浠g爜鐨勮礬寰勶紝鏈夊叴瓚g殑鍚屽鍙互鍘諱竴鎺㈢┒绔燂紝鎴戞墠鐤忓嫻呭氨鍙兘鐐瑰埌涓烘浜?jiǎn)銆?/span>
嬈㈣繋瀵瑰叾鏈夋洿娣卞叆鎸栨帢鐨勫悓瀛﹁兘澶熷彂甯冩柊鐨勫皬緇?/span>,鍒版椂璁板緱鍒嗕韓鍒版垜鐨勯偖綆?/span>frank.sunny@163.com錛屽綋鐒跺亣濡傛垜鏂囦腑鏈変粈涔堥敊璇篃甯屾湜鑳藉鍛婄煡鎴戜竴涓?/span>,璋㈣阿銆?/span>
鐢變簬宸ヤ綔涓渶瑕佺敤鍒扮被浼間簬鍍忔柊嫻井钖勪竴鏍鳳紝鐩戞帶鎷嶇収鍚庡脊鍑虹収鐗囨槸鍚︿笂浼犲垎浜殑瑕佹眰錛屼負(fù)姝ゅ氨灝忚瘯浜?jiǎn)涓嬬洃鎺ф媿鐓у拰鎽勫儚銆?/span>
涓寮濮嬫病鏈夊ご緇紝閮戒笉鐭ラ亾鎼滅儲(chǔ)浠涔堝叧閿瓧錛岃尗鏃犵洰鐨勪笅灞呯劧鍙戠幇璁哄潧鏈変漢鎺ㄨ崘闄堝瓙鑵懼啓鐨?/span>wiki錛屽叿浣?/span>wiki閾炬帴濡備笅
媯(gè)嫻嬪唴緗浉鏈哄簲鐢ㄧ▼搴忔柊鎷嶆憚鐨勭収鐗囧拰瑙嗛鐗囨
鍏跺疄鍙傝冮檲瀛愯吘鐨勬柟娉曞緢瀹規(guī)槗灝卞仛濂戒竴涓洃鎺у姛鑳戒簡(jiǎn)錛屽湪榪欓噷灝變笉澶氳銆?/span>
涔嬫墍浠ユ兂灝忓啓涓嬪崥鏂囷紝鏄洜涓鴻繖縐嶆柟寮忓疄闄呬笂娑夊強(qiáng)鍒?/span>Symbian OS鎻愪緵鐨?/span>Publish&Subscribe榪欎竴鐗規(guī)畩鐨勮繘紼嬮棿閫氫俊鏈哄埗錛屾垜涔嬪墠浣跨敤鐨勮繘紼嬮棿閫氫俊闄や簡(jiǎn)C/S鍜?/span>RMsgQue涔嬪錛屽氨鏄嬌鐢?/span>AppUi妗嗘灦閫氳繃TApaTask::SendMessage鐨勬柟娉曟潵瀹炵幇錛岃嚦浜?/span>RProcess::SetParameter涓嶈兘鍦ㄨ繘紼嬮棿瀹炴椂鐨勪紶杈撴秷鎭紝鍙兘鏄紑鍚繘紼嬫椂浼犻掍竴浜涗俊鎭紙姣斿鍚屾鐢ㄧ殑淇″彿閲忕瓑錛夈傝繖嬈℃葷畻鏄帴瑙︿簡(jiǎn)涓?/span>PS榪涚▼闂撮氫俊錛屽氨鑷繁涔熷皾璇曚簡(jiǎn)榪欑鏂瑰紡銆?/span>
SDK涓殑鎻忚堪鏄?/span>
Publish & Subscribe is a new API provided by the real-time kernel (EKA2). It allows publisher processes to define and update a set of properties; other processes, called subscribers, can listen for changes to a property, and get property values. The process that defines a property can specify access rights for both reading and writing. Rights can be defined in terms of either requiring a particular security capability, by a process SID, or by a process VID. Publish & Subscribe replaces System Agent and the usage of temporary Shared Data keys.
涔熷氨鏄鍙戝竷鑰呭畾涔夋垨鏇存柊涓濂楀睘鎬э紝鐒跺悗璁㈤槄鑰呭紑鍚洃鍚殑鎯呭喌涓嬪氨鑳芥帴鍙楀埌鏇存柊錛岀劧鍚庡彲浠ュ幓鑾峰彇灞炴у肩殑鏇存敼銆?/span>
鍦ㄨ繖閲屾渶涓昏鐨勬槸鍦ㄥ彂甯冭呭畾涔夊睘鎬ф椂錛屼竴瀹氳鐢ㄥ彂甯冭呯▼搴忕殑SID涔熷氨鏄?/span>UID3錛屽惁鍒欎細(xì)鎶?/span>-46鐨勯敊璇紝涔熷嵆涓嬮潰浠g爜
RProperty::Define(KPSUidCameraCfg, KCameraCfgModify, RProperty::EInt);
KPSUidCameraCfg蹇呴』鏄綘鍙戝竷紼嬪簭鐨?/span>UID3鎴栬呬綘鍙﹀鍦?/span>mmp涓畾涔夌殑SID鍊鹼紝鑷充簬鍚庨潰鐨?/span>KCameraCfgModify灞炴у拰綾誨瀷鍊煎氨鏍規(guī)嵁瑕佹眰鏉ヨ緗簡(jiǎn)銆?/span>
鐩戞帶灞炴ч渶瑕佺粦瀹氬埌鍏蜂綋鐨勫睘鎬х劧鍚庡紑鍚竴涓?/span>Subscribe鐨勫紓姝ユ柟娉?/span>
iProperty.Attach(KPSUidCameraCfg, KCameraCfgModify);
iProperty.Subscribe(iStatus);
SetActive(); // Tell scheduler a request is active
閫氬父鐩戞帶灞炴ф槸涓涓紓姝ヨ繃紼嬶紝鎵浠ユ垜浠細(xì)涓哄叾涓撻棬鍐欎竴涓椿鍔ㄥ璞$被錛岀敤浠ュ紓姝ョ洃鎺?/span>
铏界劧灞炴у畾涔夋槸鏈夊畨鍏ㄦц姹傦紝浣嗘槸鏇存柊灞炴э紝灝辨病閭d箞涓ユ牸浜?jiǎn)锛屽彲浠ョ洿鎺ラ氳繃RProperty鐨勯潤(rùn)鎬佹柟娉曟潵淇敼
RProperty::Set(KPSUidCameraCfg, KCameraCfgModify, 1 );
璁㈤槄鑰呭綋鏀跺埌灞炴ф湁鏇存敼鏃訛紝涔熷彲浠ョ洿鎺ラ氳繃RProperty鐨勯潤(rùn)鎬佹柟娉曟潵璇誨彇
RProperty::Get(KPSUidCameraCfg, KCameraCfgModify, val);
鐢變簬灞炴у煎湪鎵嬫満閲嶅惎鍓嶄細(xì)涓鐩村瓨鍦紝鎵浠ュ睘鎬ф病鏈夌敤鏃訛紝鎴戜滑瑕佹眰灝嗗叾鍒犻櫎錛屽垹闄や篃鍙互閫氳繃RProperty鐨勯潤(rùn)鎬佹柟娉曠畝鍗曞疄鐜幫紝鍏蜂綋濡備笅
RProperty::Delete(KPSUidCameraCfg, KCameraCfgModify);
緇撳悎PS榪欎竴榪涚▼闂撮氳鐨勬柟娉曞拰緋葷粺鎽勫儚澶村簲鐢ㄧ▼搴忎腑鐨勪嬌鐢紝鎴戜滑鍙互鏄劇劧鐭ラ亾錛岃鏂規(guī)硶閫傜敤浜庡紑鍙戜竴浜涢氱敤鐨勫簳灞傛帶浠訛紝鍙互緇欑涓夋柟寮鍙戣呴渶瑕佹椂鐩戞帶鐢紝鍙戝竷鑰呯被浼間簬涓涓箍鎾郴緇熴?/span>
鎰熻涓嶆槸寰堝鏉傦紝灝辯畝鍗曞皬緇撳涓婂惂錛屼互鍚庝嬌鐢ㄩ亣鍒伴棶棰樺啀鏇存柊銆?/span>