工作之暗碼功能失效

問題起因

今天從工廠接收到一個(gè)BUG是:自己管理的模塊暗碼信息查詢功能失效膝晾。

分析問題

其實(shí)這個(gè)模塊問題做久了感覺也沒什么難度锐墙,只是這是個(gè)新的問題導(dǎo)致我不知道如何去下手词顾。(之前都是改改暗碼拉出來的界面或者添加暗碼等等)
*首先幸乒,分析問題之前我并沒有對(duì)這個(gè)流程有多少了解,只知道是有Dialer雅任,對(duì)暗碼格式判斷然后發(fā)送個(gè)廣播,有暗碼APK接收做處理
*解決完問題之后回想起來感覺還是蠻簡單的咨跌,猶豫要不要寫這種博客沪么。

解決問題

*抓LOG
SecretCode.java

public class ....SecretCode extends BroadcastReceiver {
    public void onReceive(Context context, Intent intent) {
                ...
        if (intent.getAction().equals(SECRET_CODE_ACTION)) {
                    android.util.Log.d("InfoService", "type = " + type);
                    if (type != null) {
                        Intent i = new Intent(InfoService.ACTION_BROADCAST);
                        i.putExtra("edit_input", type);
                        context.sendBroadcast(i);
                        return;
                    }
                }
            }
        }
    }
}

InfoService.java

public class InfoService extends Service{
    private static final String TAG = "InfoService";
    public static final String ACTION_BROADCAST = "com.---.InfoService";
    
    public static final String CAT_INTERNEL_VERSION = "*#86436*#";
    public static final String CAT_CUSTOM_VERSION = "*#84666*#";
    public static final String CAT_DEVICES_VERSION = "*#0661#";
    private static final String CAT_MMX_CUSTOM_VERSION = "*#8375#";
    private static final String CAT_PK_CUSTOM_VERSION = "*#79#";

    private static final String CAT_WIKO_CUSTOM_VERSION = "*#*#563412#*#*";
        private static final String CAT_BLU_PCB_VERSION="*#999*#";
        private static final String CAT_BLU_DEVICE_VERSION="*#888*#";
        private static final String CAT_PK_CUSTOM_VERSION2 = "*#*#79#*#*";
    
    private BroadcastReceiver mReceiver;
    
    @Override
    public IBinder onBind(Intent intent) {
        return null;
    }
    
    public void onCreate(){
        super.onCreate();
        mReceiver = new InfoReceiver();
        IntentFilter filter = new IntentFilter();
        filter.addAction(ACTION_BROADCAST);
        registerReceiver(mReceiver, filter);
        Log.i(TAG, "registerReceiver: InfoReceiver");
    }
    
    private class InfoReceiver extends BroadcastReceiver {
        @Override
        public void onReceive(Context context, Intent intent) { 
            final String action = intent.getAction();
            Log.i(TAG, "receive:"+action);
            
            if(action.equals(ACTION_BROADCAST)){
                dobackRun(context, intent);
            }
        }
    }

           dobackRun(context, intent);  //暗碼邏輯實(shí)現(xiàn)

    public void onDestroy(){
        super.onDestroy();
        if(mReceiver != null){
            unregisterReceiver(mReceiver);
            mReceiver = null;
        }
    }
}

代碼很簡單,由InfoService這個(gè)服務(wù)動(dòng)態(tài)注冊(cè)一個(gè)廣播接受者锌半,然后...SecretCode這個(gè)接收者接收到由Dialer發(fā)送的廣播之后進(jìn)行簡單的邏輯判斷處理(有些省略)繼續(xù)發(fā)送一個(gè)廣播禽车。再有后臺(tái)InfoService接收處理。

看到這刊殉,大概就把該模塊簡單的理清楚了殉摔,那為什么暗碼功能失效呢?
通過抓Log知道记焊,...SecretCode這個(gè)接收者是由靜態(tài)注冊(cè)逸月,這個(gè)接收廣播沒有問題,但是由它發(fā)送的廣播InfoReceiver接收不到遍膜,一直以為是廣播被截獲了碗硬,導(dǎo)致接收不到,在這上面也花了很長時(shí)間瓢颅,無從驗(yàn)證廣播的截獲恩尾。

之后,也沒有從這一角度去分析問題了挽懦,抱著試一試的態(tài)度翰意,我通過下面這兩條adb命令定位到是InfoService這個(gè)服務(wù)沒有啟動(dòng)才導(dǎo)致的動(dòng)態(tài)注冊(cè)的廣播不能接受,從而暗碼功能失效

adb shell am startservice -n com.---.productInfo/com.---.productInfo.InfoService
adb shell am stopservice -n  com.---.productInfo/com.---.productInfo.InfoService

BootReceiver.java

 public class BootReceiver extends BroadcastReceiver {
    private static final String TAG = "---ProductInfoBootReceiver";
    
    @Override
    public void onReceive(Context context, Intent intent) {
        if(intent.getAction().equals(Intent.ACTION_BOOT_COMPLETED)){
            Log.i(TAG, "----BootReceiver---");
            context.startService(new Intent(context,InfoService.class));
        }
    }
}

這個(gè)服務(wù)是由接收到開機(jī)廣播來啟動(dòng)的巾兆,沒有啟動(dòng)當(dāng)然是沒有接收到開機(jī)廣播猎物,通過Log看,很多沒有接收到開機(jī)廣播接收者角塑,因?yàn)槭枪财脚_(tái)的蔫磨,其他的項(xiàng)目沒有這個(gè)問題,而就這個(gè)訂單有暗碼失效圃伶,那么多人改這個(gè)平臺(tái)代碼堤如,鬼知道是哪里改出了問題,就先把問題丟給性能優(yōu)化的人了窒朋。

log.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末搀罢,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子侥猩,更是在濱河造成了極大的恐慌榔至,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,406評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件欺劳,死亡現(xiàn)場離奇詭異唧取,居然都是意外死亡铅鲤,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,732評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門枫弟,熙熙樓的掌柜王于貴愁眉苦臉地迎上來邢享,“玉大人,你說我怎么就攤上這事淡诗『粒” “怎么了?”我有些...
    開封第一講書人閱讀 163,711評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵韩容,是天一觀的道長款违。 經(jīng)常有香客問我,道長宙攻,這世上最難降的妖魔是什么奠货? 我笑而不...
    開封第一講書人閱讀 58,380評(píng)論 1 293
  • 正文 為了忘掉前任介褥,我火速辦了婚禮座掘,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘柔滔。我一直安慰自己溢陪,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,432評(píng)論 6 392
  • 文/花漫 我一把揭開白布睛廊。 她就那樣靜靜地躺著形真,像睡著了一般。 火紅的嫁衣襯著肌膚如雪超全。 梳的紋絲不亂的頭發(fā)上咆霜,一...
    開封第一講書人閱讀 51,301評(píng)論 1 301
  • 那天,我揣著相機(jī)與錄音嘶朱,去河邊找鬼蛾坯。 笑死,一個(gè)胖子當(dāng)著我的面吹牛疏遏,可吹牛的內(nèi)容都是我干的脉课。 我是一名探鬼主播,決...
    沈念sama閱讀 40,145評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼财异,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼倘零!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起戳寸,我...
    開封第一講書人閱讀 39,008評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤呈驶,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后疫鹊,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體袖瞻,經(jīng)...
    沈念sama閱讀 45,443評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡跌穗,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,649評(píng)論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了虏辫。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蚌吸。...
    茶點(diǎn)故事閱讀 39,795評(píng)論 1 347
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖砌庄,靈堂內(nèi)的尸體忽然破棺而出羹唠,到底是詐尸還是另有隱情,我是刑警寧澤娄昆,帶...
    沈念sama閱讀 35,501評(píng)論 5 345
  • 正文 年R本政府宣布佩微,位于F島的核電站,受9級(jí)特大地震影響萌焰,放射性物質(zhì)發(fā)生泄漏哺眯。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,119評(píng)論 3 328
  • 文/蒙蒙 一扒俯、第九天 我趴在偏房一處隱蔽的房頂上張望奶卓。 院中可真熱鬧,春花似錦撼玄、人聲如沸夺姑。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,731評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽盏浙。三九已至,卻和暖如春荔茬,著一層夾襖步出監(jiān)牢的瞬間废膘,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,865評(píng)論 1 269
  • 我被黑心中介騙來泰國打工慕蔚, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留丐黄,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,899評(píng)論 2 370
  • 正文 我出身青樓坊萝,卻偏偏與公主長得像孵稽,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子十偶,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,724評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • 2.1 Activity 2.1.1 Activity的生命周期全面分析 典型情況下的生命周期:在用戶參與的情況下...
    AndroidMaster閱讀 3,040評(píng)論 0 8
  • 【書 目】《別獨(dú)自用餐》 【課程領(lǐng)拆】朱圣狡邢省(Jacky)老師 【上課時(shí)間】2017年7月20日 【作 ...
    付霞霏閱讀 131評(píng)論 0 0
  • 那年的夏季和以往相比鹿寻,同又不同。 一樣的炎熱诽凌,多變毡熏,或是洪水猛獸,或是天旱地裂侣诵。 異在我的人生列車痢法,伴隨著周圍人不...
    倔強(qiáng)de紅舞鞋閱讀 358評(píng)論 2 1
  • 不想接別人的電話 尤其是媽媽,表面上我對(duì)成績不在乎杜顺,可我心里就是難受财搁,因?yàn)槟銈儾幻靼祝瑥脑?jīng)的學(xué)霸變成現(xiàn)在的300...
    灬荏苒灬閱讀 189評(píng)論 2 0