在Android Settings.apk中添加设置选项

时间:2014-02-19 02:24:12

标签: android options cyanogenmod

我有一个状态栏信号图标,我想在Cyanogenmod上的Settings.apk中做一个选项。设置在那里,并将正确的int值分配给STATUS_BAR_SIGNAL,我只是无法弄清楚如果选择该选项后如何执行我的新图标。

目前,没有我的新选项,有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中创建了一个新图标,但我不确定一旦STATUS_BAR_SIGNAL更改为2,我的java文件中需要启用它。

如果STATUS_BAR_SIGNAL = 2?

,如何让我的新图标执行

1 个答案:

答案 0 :(得分:0)

好吧,我明白了;不确定 如何链接,但确实如此。

我需要在

下创建我的代码
public void setStyle(int style) {
    mSignalClusterStyle = style;
    updateVisibilityForStyle();

或者我的代码中的类似内容。

style

检索存储在Settings.System.STATUS_BAR_SIGNAL中的值,并使用public int来定义每个值的含义,所以在我的情况下我必须添加;

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);
    }