|
更多内容可以访问我和我老婆的blog,夫妻扉片,访问的时候别忘了“支援”我们一下哈:)
3 o8 P2 e8 B# I5 n5 }5 W0 q一、 开篇
' z% ?0 l; i9 R$ y1 g6 _2010年11月22日,不寻常的一天,这一天发生了两件我“毕生难忘”的事情(对于我而言):)。首先是天津正式启动携号转网;然后我又无法克制自己看手机的冲动去友人网观摩了一番。在此过程中,我办了一件错事——点击了Palm的图标,看到了Palmpre,想起了当年瘾科技上看到的无线充电,爱上了他的造型,在淘宝上搜了PP的价格,当发现PP的价格在我私房钱购买能力之内的时候,于11月30日入手一部Palm pre :(。 p: b9 G3 C2 A! J
二、 问题的产生- T* e& K ]: S' z+ v* X0 ~
为什么要说我办了一件错事呢?因为11月22日-11月30日之间我查阅了一些资料,主要是关于PP滑道问题、电源键问题、屏幕问题、漏接电话问题…(上面的“…”真的是“…”,貌似还有其他的问题)。并且在51(duzi)及treo8(heihei1981)上分别咨询了关于上述问题出现的几率,不过大部分回帖我都忘记了,只记得有人告诉我“既然喜欢,何必在乎那么多呢”。而后闪电出手,入了一部。但是问题还是要解决的呀,大家说1.4.5的漏接电话已经解决了,还好,目前我还没碰到。滑道和PowerKey属于硬件设计问题,没办法了,只能少用滑道和PowerKey!
, q( @5 c' _2 ]) u q/ c/ t6 A L5 d7 E少用滑道好说,我不用键盘就好啦,装个虚拟键盘凑合凑合。但是电源键呢?关屏幕我不用(JS卖给我的时候有相关软件);重启不用(开始用Internal菜单里面的选项,后来发现了Terminal,就用reboot命令,再后来发现DeviceInfo里也有重启命令,再后来听说橙色键+sym+R也能重启【没试过,需要滑盖】)、但是打开屏幕要用,锁屏状态来电拒接也要用(还要用2次),这个是最废PowerKey的了,Preware找了,没有相关patch或者软件或者其他解决办法。自己想…
& P- l3 ]8 b; }: z% F三、 解决过程( H8 u' W$ c9 U3 W, N5 T
计划使用“奶头键”代替电源键拒接电话!今天12月12日了,从30日到现在,我牺牲了所有课余(我已工作好多年)时间,通读了《PalmwebOS RoughCuts》;基本学会了WebOS应用软件的编写;研究了一天com.palm.app.phone的代码。NOW,无功而返!,貌似锁屏状态下需要设置指定按键的状态,不知道我想的对不,主要是下面代码使我觉得应该是这样的。
5 k3 ?( }+ F: i1 E9 a- powerButtonSubscribe: function(enable, clientName, callback) {
# a7 m9 q' E" B/ W( L% g3 ~ - var request = new Mojo.Service.Request(this.displayUri, {# |# X- f5 U" {
- method: 'setProperty',% I6 M- J' w$ ]; b+ u* ]) {( D
- parameters: {8 I6 R2 i9 |4 R" @ c) @
- 'powerKeyBlock': enable,5 \$ C0 e' W) K! L* P9 Q
- 'client': clientName8 s) b' E& W5 ]: k
- },7 P: u: ?& ^7 |
- onSuccess: function(payload){. d2 l% ?) _ C, Z# j1 R& [) t5 M
- if (callback) callback(payload);
6 m: j1 w2 Z; ^$ x8 H* `% d - },
6 W6 @; o v w$ ^+ ?9 i" h - onFailure: function() {4 ^( R8 D2 a1 {5 R
- QDLogger.log( "TelephonyCommands::powerButtonSubscribe", "failure");
: o1 b4 W* w8 I3 Y* M t - }
8 ]4 D! o5 }8 A( X3 s+ i( W" m - });; J6 q0 Z3 T! l/ z* J6 o
- & y: u, M8 G& ~+ X7 L: O' W
- return request;
; u: a$ H8 q) f3 c - },
& e" `! e; M7 R- T8 T; P
复制代码 当然我也不知道我想的对不。总之今天折腾一天发现凭借我目前的知识,无法解决此问题!L1 W7 Z7 a# G. W8 i$ ^& x+ y
四、 结论8 z9 h3 B X. F# k! M2 [
想必看到这里各位都急了吧?解决不了你在这里忽悠什嘛!!!介不是没事找事吗?其实也不算是完全没有成果,我郁闷的同时突然发现,虽然我无法解决使用其他按键激活屏幕,或者拒接电话的方法,但是我可以减少一次电源键的使用。解决方法如下。
: d6 Y$ k$ D0 m$ c- //这里就是处理电源键事件的函数,位于/usr/palm/applications/com.palm.app.phone/app/controllers/incomingcall-assistant.js的490行" X ^* v x! P
- handleHardKeyPress: function() {& z* {# f( P, r& U4 B8 n$ \+ L3 }
- QDLogger.log( "IncomingcallAssistant#handleHardKeyPress");+ ^5 o5 T$ L, q* [
- if (this.muted) {
B- v n% {$ y! m: |7 j - QDLogger.log( "IncomingcallAssistant#handleHardKeyPress", "reject");7 w$ e4 Y0 G5 q3 d. N
- this.rejectCall();
+ S7 e. ~ |* N v. [; P - } else {
) W+ v9 b' H4 g; q - QDLogger.log( "IncomingcallAssistant#handleHardKeyPress", "mute");
9 u j- ~8 s7 K V - this.mute();2 f' U7 x$ B; C A
- }
( H, B& S! x9 u5 a - },
复制代码 就是这里,没错,位于/usr/palm/application/com.palm.app.phone/app/controllers/的incomingcall-assistant.js文件,就是这个handleHardKeyPress方法,就是他只和电源键搞暧昧,当电源键被按下的时候,先看看现在是静音(muted)吗?是就拒接来电,不是?先静音,浪费一次电源键的Press。
& U7 o" T$ J ~% K* U找到了有什么用呢?找到了就想办法解决别,无论如何先减少一次电源键的press再说,大家只需要添加几个“/”就行了,添加后的代码如下。- ( ^2 J7 A" z& ?4 x7 I- T. b
- //修改后的代码1 d: \3 K* F9 ?
- handleHardKeyPress: function() {' L) f# u7 z) v* d4 o
- //QDLogger.log( "IncomingcallAssistant#handleHardKeyPress");2 K2 d. h/ ]. m3 r9 b8 ~
- //if (this.muted) {. C, U5 e& O# J# _; l
- //QDLogger.log( "IncomingcallAssistant#handleHardKeyPress", "reject");5 Z" A- a0 E) ~: \' Z' F0 ^
- this.rejectCall();) E: l! U, H7 R) B6 ?/ l
- //} else {
( b+ Z* R8 F6 C! c6 S. [ - //QDLogger.log( "IncomingcallAssistant#handleHardKeyPress", "mute");
) b! O% n. |6 d$ D - //this.mute();5 E6 I* _3 l/ H/ C' y9 v; g2 p
- //}4 v0 t6 D; S9 q8 x, E7 _/ R
- },
复制代码 好了,这么做至少能降低一些PowerKey的使用频率,但具体他能撑多久呢,还不知道,不过我将鞠躬尽瘁的去研究怎么使用NTJ挂电话或者激活屏幕!不知道能成功不,linux基础太差。(又为我的理想之路添加了一些困难~~)。 ?. Y% c# t) u6 J( F" z
五、 操作方法
# u' S+ G* c' j7 N不说使用Putty什么的修改文件,说起来浪费篇幅并且还要rootfs_open -r,rootfs-open-w一番,有兴趣没基础的可以搜搜帖子研究一下。用最繁琐但是比较容易叙述的方法来说明好了,这个方法我也想了一阵子呢,首先在Internal里面把/usr/palm/applications/com.palm.app.phone/app/controllers/下的incomingcall-assistant.js文件拷贝至/media/internal/{anywhere},然后连接电脑选择U盘模式,使用记事本打开文件,按照上面的办法修改文件,停止硬件,拔数据线,拷贝至原位置,重启手机,大功告成!0 z& Y7 F/ G1 C% S' ]
(注!一定要重启哦,否则锁屏状态来电手机是没反应的,至少我的是这样。另外这种做法也需要在牺牲静音能力和节约电源键使用之间进行权衡。反正我觉得不错。我喜欢,哈哈。). k/ n. `) _0 {) |/ f
X9 W2 b3 ]- V6 z' M[ Edited by heihei1981 on 2010-12-13 12:23 ] |
评分
-
查看全部评分
|