我有一个状态栏信号图标,我想在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?
,如何让我的新图标执行答案 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);
}