讓視窗可以浮在最上層不影響下層的操作。
之前曾發表過如何開發 Sony SmallApp 的文章,有興趣可以參考看看
不過當時 Sony SmallApp 的 framework 還是屬於舊版,
現在新版本的 SmallApp 就不能這麼做了,要稍微修改一下
然而包含我自己在內,很多人其實對在任何地方只要按下多工鍵(紅圈處),
就可以叫出 SmallApp 列的這項設計感覺到方便實用:
(我個人習慣將黃圈處這條工具列稱作 SmallApp Dock)
其實只要加一點點小技巧,就可以讓自己撰寫的程式能夠被
Sony 的 SmallApp Mamager 抓到,放進這個 SmallApp Dock 中,
這樣一來,想隨時隨地執行你的程式,就會方便很多。
如果自己不是用 Sony 手機,也可以在開發的專案裡面加入這個功能
讓 Sony 用戶可以從 SmallApp Dock 呼叫出自己的程式。
此方法還沒確定支援的機型,比 Xperia TX 還新的 T , V , Z 都可行,
而 Xperia TX 韌體版本應該在 197 以上的可以, 307 的可能要
root 後做一些手腳。
運作原理其實是真的建立一個 Sony SmallApp , 在 Small App 初始化的時候
(也就是在 onCreate 的地方),用 intent 打開自己寫的程式(Activity...etc),
接著再將 SmallApp 給 finish() 掉
而在做專案的時候,不需要將完整的 SmallApp Library 包進我的的 apk
這樣檔案會變肥,而且對非 Sony 用戶來說其實意義不大。
我們需要的是在撰寫程式的時候 Eclipse 能夠 reference 到這些方法
但在 build 的時候不要把 lib 編譯到 classes.dex 中,方法如下:
(如果將 .jar 放進專案的 lib/ 資料夾底下,是會被編譯到 dex 裡)
首先需要 sony smallApp 的 framework,可以到 Sony Developer World
下載 SmallApp SDK 最新版本的 framework ,或者我這邊的備份檔案:
【com.sony.smallapp.jar】
幾個月前從 Developer World 抓下來的,這個 lib 只提供開發時的參考
而已,lib 本身並沒有實際功能
【com.sony.smallapp(combine).jar】
這是從 Sony 手機中 SmallAppManagerService.apk 抽取出來的 lib
包含舊版的 framework 和新版的 framework 都在裡面,lib 並非只
是參照,而是有實際功能。
其實在這邊只需要用到官方提供的參照用的 jar 即可。
步驟如下:
Step1 : 到 Eclipse 專案處按右鍵,選擇 Build Path=>Add Libraries
Step2 : 選擇 User Libraries
PS : 如果之前有新增過,這邊會出現已經有的 User Library , 打勾即可
Step 3 : 點選 New , 並輸入一個名稱
Step 4 : 點一下剛新增的 Library ,接著 Add External JARs,並找到Lib的檔案
PS : 這邊我用的是抽取的 Combine 版本
Step 5 : 按下 OK 後,記得勾選要採用這個 Library
這樣一來就會在專案中看到這個 Lib 了
接著在 AndroidManifest.xml 裡面加入權限:
以及
PS : use-library 要在 <application> </application>
也就是要求要使用系統的 com,sony.smallapp.framework 這個 lib
因為 required 是 false , 所以對一般非 Sony 手機不會有任何影響
接著新建立一個 class , extends SmallApplication , 假設叫做 SmallAppEntry
http://pastie.org/7983729
裡面做的其實就是 start 我們程式的 Activity,如這裡的 EntryActivity,
接著隔一小段時間後讓這個 SmallApp 自殺。
最後在 AndroidManifest.xml處新增這個 SmallApplication 的
intent-filter即可,較完整 XML 如下: http://pastie.org/7983705
這樣一來 Sony 的手機就可以用囉~
希望有幫到大家 :)
至於較舊的 TX , 印象中系統本身沒有 smallapp framework library
所以如果有 root 的話,可以自行增加這個檔案,這樣在
<use-library> 的部分就可以抓到檔案了
http://ppt.cc/3n7j
沒有留言:
張貼留言