2014-02-19 68 views
1

我有一個狀態欄信號圖標,我想在Cyanogenmod的Settings.apk中做出選項。該設置在那裏,並將正確的int值分配給STATUS_BAR_SIGNAL,一旦選擇該選項,我就無法弄清楚如何執行我的新圖標。在Android Settings.apk中添加設置選項

目前,沒有我的新選項,有3個選項;圖標,文本和隱藏。圖標顯示股票圖標,文本顯示信號的dBm值,隱藏隱藏信號圖標。 int賦值是:android.provider.Settings.System中的Icon = 0,Text = 1,Hidden = 2。

沒有我的圖標,SystemUI.statusbar中有兩個java文件; SignalClusterView.java和SignalClusterTextView.java。

我的新選項是Always,並且我將它指定爲2,並將Hidden移至3.但是,2和3不會導致產生新圖標,從而導致隱藏圖標。

我做出SystemUI.statusbar,SignalClusterAlwaysView.java一個新的圖標,但我不確定什麼需要在我的java文件,使之一次STATUS_BAR_SIGNAL更改爲2

如何讓我的新圖標如果STATUS_BAR_SIGNAL = 2則執行?

回答

0

我想通了;不知道如何它鏈接,但它確實。

我需要

public void setStyle(int style) { 
    mSignalClusterStyle = style; 
    updateVisibilityForStyle(); 

或在我爲我的圖標代碼類似下創建我的代碼。

style 

檢索存儲在Settings.System.STATUS_BAR_SIGNAL的值,並使用公衆詮釋以限定每一個裝置,因此,在我的情況下,我不得不添加;

public static final int STYLE_ALWAYS = 2; 

到主SignalClusterView.java的頂部。

所以我結束了沿着線的東西:

if (mSignalClusterStyle == STYLE_ALWAYS) { 
     mMobileType.setVisibility(View.VISIBLE); 
    } 
    else if (!mIsAirplaneMode && mMobileGroup != null) { 
     mMobileGroup.setVisibility(mSignalClusterStyle != STYLE_NORMAL 
       ? View.GONE : View.VISIBLE); 
    } 
相關問題