protected void onStop() { super.onStop(); Log.i(TAG, "---------Search on Stop!!------------"); stopProgressDialog(); dvb.installationStop(); tvNames.clear(); radioNames.clear(); dvb.installationDeinit(); newScheduledThreadPool.shutdown(); }
/** * <搜索节目> * * @see [类、类#方法、类#成员] */ public void searchChannelInfo() { dvb = new NativeInstallation(); dvb.installationInit(); // 注册消息监听 msgInstall = new MessageInstallation(handler); dvb.installMessageInit(msgInstall); Install_Cfg_t icfg = dvb.new Install_Cfg_t(); icfg.ptTimeout = dvb.new Install_Timeout_t(); // 指定Tuner的参数类型为C类型 icfg.eSignalSource = Config.DVBCore_Signal_Source_eDVBCORE_SIGNAL_SOURCE_DVBC; if (!hasBat) { icfg.u8SearchLimitFlag = 1; } else { // 0 has bat,1 no bat icfg.u8SearchLimitFlag = 0; } // 声明Tuner参数的对象 NativeInstallation.DVBCore_Cab_Desc_t tunerDesc = dvb.new DVBCore_Cab_Desc_t(); if (null != strInputFrequency && !"".equals(strInputFrequency)) { u32Freq = Integer.parseInt(strInputFrequency); } if (null != strSymbolRate && !"".equals(strSymbolRate)) { u32SymbRate = Integer.parseInt(strSymbolRate); } else { u32Freq = Integer.parseInt(getString(R.string.InputFrequencyDefault)); u32SymbRate = Integer.parseInt(getString(R.string.SymbolRateDefault)); } int eMod = CommonUtils.getModHandling(strQam); SharedPreferences spChannel = getSharedPreferences("double_tuner", 8); int tunerid = spChannel.getInt("radio_serviceId", 0); LogUtils.printLog(1, 3, TAG, "--->>> tuner id is " + tunerid); tunerDesc.setU8TunerId((char) tunerid); tunerDesc.setU32Freq(u32Freq); tunerDesc.setU32SymbRate(u32SymbRate); tunerDesc.seteMod(eMod); // manual search if (searchMode == Config.Install_Search_Type_eTP_SEARCH) { Log.i(TAG, "---Search Type--->>>---Single TP ---------"); icfg.eSearchType = Config.Install_Search_Type_eTP_SEARCH; icfg.u32MainTpNum = 0; icfg.u32NormalTpNum = 1; icfg.puNormalTpDescList = new NativeInstallation.DVBCore_Cab_Desc_t[1]; icfg.puNormalTpDescList[0] = tunerDesc; } // auto search if (searchMode == Config.Install_Search_Type_eAUTO_SEARCH) { Log.i(TAG, "---Search Type--->>>---Auto Search ---------"); icfg.eSearchType = Config.Install_Search_Type_eAUTO_SEARCH; icfg.u32MainTpNum = 1; icfg.u32NormalTpNum = 0; NativeInstallation.DVBCore_Cab_Desc_t[] puMainTpDescList = new NativeInstallation.DVBCore_Cab_Desc_t[1]; puMainTpDescList[0] = tunerDesc; icfg.puMainTpDescList = puMainTpDescList; } // all search if (searchMode == Config.Install_Search_Type_eALL_SEARCH) { Log.i(TAG, "---Search Type--->>>---All Search ---------"); icfg.eSearchType = Config.Install_Search_Type_eALL_SEARCH; icfg.u32MainTpNum = 1; icfg.u32NormalTpNum = 0; NativeInstallation.DVBCore_Cab_Desc_t[] puMainTpDescList = new NativeInstallation.DVBCore_Cab_Desc_t[1]; puMainTpDescList[0] = tunerDesc; icfg.puMainTpDescList = puMainTpDescList; } Log.i(TAG, "--------------------DVB Search Params ---------------------------"); Log.i(TAG, "---------Search Mode is----------------------->>>" + searchMode); Log.i(TAG, "---------Input Frequency is----------------------->>>" + tunerDesc.getU32Freq()); Log.i(TAG, "---------SysbolRate is----------------------->>>" + tunerDesc.getU32SymbRate()); Log.i(TAG, "---------QAM is----------------------->>>" + tunerDesc.geteMod()); Log.i(TAG, "---------HasBAT----------------------->>>" + hasBat); int reCode = dvb.installationStart(icfg); Log.i(TAG, "---------------------------------->>>>>>>>>>Re Code ----------->>>>>" + reCode); }