【開源項目】Smart,讓魅族Smartbar變得Smart,smartbarsmart

來源:互聯網
上載者:User

【開源項目】Smart,讓魅族Smartbar變得Smart,smartbarsmart

目前最新版本號碼Smart 1.1beta

0、已知問題

a) 目前我只有mx3測試機,在flyme 3.3.2上進行過測試,

b) flyme3.6+版本的smartbar會有白條,請再等等

c) 部分已適配smartbar的應用也會同時去掉)(會在1.2beta版本修複)



1、為什麼叫Smart


因為它很聰明,而且功能是智能去SmartBar的Bar,所以就叫Smart啦



2、安裝它需要什麼前提

a) 必須android4.0.3以上,並且非ART模式(也就是不支援android4.4),因xposed架構限制(rovo89大神正在努力中)

b) 安裝xposed架構(需要root許可權)


3、如何安裝

a) 下載安裝xposed架構

b) 啟用架構(會要求重啟)

c) 安裝Smart

d) 在xposed-模組中,把Smart打上鉤子

f) 重啟

簡單來說就是安裝2個app,無需刷機,刪除app就可以恢複正常


4、free or freedom?

免費且開源


5、有風險嗎?

安裝xposed有一定風險,root也有一定風險,請謹慎


6、智能去smartbar判斷原理

a) 首先判斷是否支援actionbar,不支援直接去掉smartbar(如樂視tv、搜狗號碼通)

b) 如果支援actionbar,判斷是否windows的UiOptions是否為splitActionBarWhenNarrow,如果不是則去掉smartbar(如)

c) 如果上面2條都滿足,判斷menu裡的item個數,如果大於0說明在smartbar中有除了back額外的操作,所以不能去掉smartbar,否則直接去掉smartbar(如系統內建的幾個app)


7、Smart的原理

昨天看了一些去smartbar的辦法,看到一位同學分享的教程http://garth.im/2014/04/decompile-app-to-disappear-smartbar/

我反編譯了SmartBarUtil.smali,並且使用到了其中一段代碼

public static void Hide(View decorView) {        if(!HasSmartBar())        {            return;        }        try        {            Class[] arrayOfClass = new Class[0x1];            arrayOfClass[0x0] = Integer.TYPE;            Method localMethod = View.class.getMethod("setSystemUiVisibility", arrayOfClass);            Field localField = View.class.getField("SYSTEM_UI_FLAG_HIDE_NAVIGATION");            Object[] arrayOfObject = new Object[0x1];            try            {                arrayOfObject[0x0] = localField.get(0x0);            }            catch(Exception localException1)            {            }            localMethod.invoke(decorView, arrayOfObject);            return;        }        catch(Exception e)        {            e.printStackTrace();        }    }

主要的思路是使用xposed架構hook每個app的activity的onCreatePanelMenu,

在完成menu產生後進行去smartbar判斷和操作

在此之前會判斷是否支援actionbar來處理較早版本編譯的app(樂視tv、搜狗號碼通)


8、

http://pan.baidu.com/s/1hqHwH1M


9、運行



10、開源地址

https://github.com/ashqal/SmartbarCracker


11、圖文安裝說明



魅族mx3自動調節smart bar是什?

就是說的Smartbar的兩側間距?

這個看過9.2發布會的就肯定知道了。

Smartbar兩側間距140px~160px,就是Smartbar的兩邊距離螢幕邊緣140像素點~160像素點的意思。

自動調節就是您在140像素點時,手總是點不到,點到返回鍵的右側了,系統自動識別140px有點遠了,機推薦您150或者160px,這樣就更容易點擊到了。




魅族企業平台[官方認證]

魅族MX2去除smart bar後玩遊戲怎開啟菜單鍵

smartbar對於安照安卓4.0及其以上的標準做的軟體是相容的,而且這是個趨勢 !以後越來越多的軟體符合4.0的標準!
但是目前有些軟體是基於安卓2.0的規範開發的,那樣就會出現雙底欄的蛋疼情況!
所以,對於使用者來說,是期望軟體儘快更新至4.0的標準開發!如果去掉smartbar,可以理解為退化的表現!時代會前進,魅族的smartbar看似有點激進,但是不久,也就是今年,會有越來越多的手機廠家去掉返回鍵和菜單鍵融合到smartbar裡!那時候軟體如果還不更新支援smartbar,出現雙底欄的情況,恐怕大家會說,這款垃圾軟體,居然是雙底欄 !
 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.