成人免费看黄网站无遮挡,caowo999,se94se欧美综合色,a级精品九九九大片免费看,欧美首页,波多野结衣一二三级,日韩亚洲欧美综合

解決方案

時(shí)間:2024-10-31 14:40:03 解決方案 我要投稿

實(shí)用的解決方案4篇

  為了確保工作或事情有序地進(jìn)行,通常需要提前準備好一份方案,方案是計劃中內容最為復雜的一種。怎樣寫(xiě)方案才更能起到其作用呢?以下是小編幫大家整理的解決方案4篇,歡迎大家借鑒與參考,希望對大家有所幫助。

實(shí)用的解決方案4篇

  解決方案 篇1

  發(fā)生IP地址沖突的原因:

  1、很多用戶(hù)不知道“IP地址”、“子網(wǎng)掩碼”、“默認網(wǎng)關(guān)”等參數如何設置,有時(shí)用戶(hù)不是從管理員處得到的上述參數的信息,或者是用戶(hù)無(wú)意修改了這些信息所導致的;

  2、有時(shí)管理員或用戶(hù)根據管理員提供的參數進(jìn)行設置時(shí),由于失誤造成參數輸錯也會(huì )導致該情況發(fā)生;

  3、出現得最多的是在客戶(hù)機維修調試時(shí),維修人員使用臨時(shí)IP地址應用造成;

  4、也不排除有人盜用他人的IP地址,造成IP地址沖突。

  局域網(wǎng)IP地址沖突的解決方案:

  方案一:逐一排查。

  這是最原始的方法,就是發(fā)生IP地址沖突時(shí),在局域網(wǎng)內,挨著(zhù)每臺計算機查看,找到與其沖突的計算機后修改IP地址就可以了。不過(guò)這樣比較耗時(shí)間,也不適合在大型局域網(wǎng)中使用,只適合在很小的網(wǎng)絡(luò )環(huán)境中采用。

  方案二:MAC地址綁定。

  1、檢查本地計算機的MAC并綁定:通過(guò)在本地計算機系統中運行Winipcfg.exe或Ipconfig.exe,即可測知網(wǎng)卡的MAC地址。具體如下:在Win9X系統中依次單擊“開(kāi)始”——“運行”,在文本框中輸入“Winipcfg”并回車(chē)后將彈出“IP配置”窗口。在下拉列表中選擇“PCI Fast Ethernet Adapeter”,此時(shí)顯示在“適配器地址”欄中的文字即為該網(wǎng)卡的MAC地址;在WinNT系統的DOS提示符下運行帶有“all”參數的ipconfig命令,即ipconfig/all也可以顯示網(wǎng)卡的MAC地址。

  2、遠程測試計算機的MAC地址:對于網(wǎng)絡(luò )管理員而言,可以用TCPNetView工具軟件來(lái)實(shí)現坐在自己的計算機前就能測知局域網(wǎng)中所有計算機的`MAC地址。該軟件在安裝完成之后,執行tcpnv.exe即可顯示程序主窗口,在“File”菜單中選擇“Refresh”命令,或者直接按“F5”鍵,即可開(kāi)始對局域網(wǎng)中現有的計算機進(jìn)行掃描,然后將顯示計算機名、IP地址和MAC地址等內容。當等到了一臺計算機上網(wǎng)卡的MAC地址后,就可以把它記錄下來(lái),由網(wǎng)管在網(wǎng)關(guān)或者防火墻上進(jìn)行配置即可。具體的綁定命令視采用的網(wǎng)關(guān)或者防火墻不同而有所變化,這時(shí),如果有其他的計算機想使用已綁定過(guò)的地址,就會(huì )出現IP地址已經(jīng)被使用的提示。

  方案三:交換機安全端口。

  過(guò)去常常在網(wǎng)絡(luò )里使用路由器和集線(xiàn)器,而現在很多局域網(wǎng)轉而采用了交換機。隨著(zhù)近幾年來(lái)交換機的大幅降價(jià),交換機在網(wǎng)絡(luò )市場(chǎng)上占據了主導地位,主要原因是交換機性?xún)r(jià)比高,結構靈活,可以隨著(zhù)未來(lái)應用的變化而靈活配置。對于所遇到的IP地址沖突,還可以利用交換機的端口把不同的部門(mén)隔離開(kāi)來(lái)解決,這是因為利用交換機可以對不同的區域實(shí)行不同的管理,經(jīng)過(guò)分割的網(wǎng)段之間互不干擾,可以在一定程度上解決IP地址沖突的問(wèn)題。

  方案四:劃分VLAN。

  雖然可以用交換機來(lái)實(shí)現網(wǎng)段隔離,從而在一定程度上避免IP地址沖突的發(fā)生,但它仍不能防止由于同一個(gè)端口下的網(wǎng)段內用戶(hù)配置錯誤而引起的IP地址沖突。更好的解決方法就是,利用交換機來(lái)劃分VLAN,再利用MAC地址綁定的方法來(lái)綜合處理。

  解決方案 篇2

  *{padding:0;margin:0}

  p{height:20xxpx}

  #gs{border:1px solid #000;position:fixed;right:30px;top:120px}

  11111111111111111

  以上這段代碼在網(wǎng)上很常見(jiàn),通過(guò)設置html{overflow:hidden}和body{height:100%;overflow:auto}來(lái)實(shí)現ie6下position:fixed效果,但這種辦法有個(gè)缺陷,那就是:這會(huì )使頁(yè)面上原有的absolute、relation都變成fixed的效果,在這里我就不做demo了,如果有懷疑,可以自己去試驗一下。

  于是我找了下資料,發(fā)現可以通過(guò)一條Internet Explorer的CSS表達式(expression)來(lái)完美的實(shí)現ie6下position:fixed效果,css代碼如下:

  /* 除IE6瀏覽器的通用方法 */

  .ie6fixedTL{position:fixed;left:0;top:0}

  .ie6fixedBR{position:fixed;right:0;bottom:0}

  /* IE6瀏覽器的特有方法 */

  * html .ie6fixedTL{position:absolute;left:expression(eval(document.documentElement.scrollLeft));top:expression(eval(document.documentElement.scrollTop))}

  * html .ie6fixedBR{position:absolute;left:expression(eval(document.documentElement.scrollLeft+document.documentElement.clientWidth-this.offsetWidth)-(parseInt(this.currentStyle.marginLeft,10)||0)-(parseInt(this.currentStyle.marginRight,10)||0));top:expression(eval(document.documentElement.scrollTop+document.documentElement.clientHeight-this.offsetHeight-(parseInt(this.currentStyle.marginTop,10)||0)-(parseInt(this.currentStyle.marginBottom,10)||0)))}

  上面代碼可以直接使用了,如果要設置元素懸浮邊距,要分別為設置兩次,比如我要讓某個(gè)元素距頂部10個(gè)像素,距左部也是10個(gè)像素,那就要這樣子寫(xiě):

  /* 除IE6瀏覽器的通用方法 */

  .ie6fixedTL{position:fixed;left:10px;top:10px}

  /* IE6瀏覽器的特有方法 */

  * html .ie6fixedTL{position:absolute;left:expression(eval(document.documentElement.scrollLeft+10));top:expression(eval(document.documentElement.scrollTop+10))}

  這樣一來(lái),IE6下實(shí)現position:fixed的效果解決了,而且也不會(huì )影響到其他的absolute、relation,但還有一個(gè)問(wèn)題,就是懸浮的元素會(huì )出現振動(dòng)

  IE有一個(gè)多步的渲染進(jìn)程。當你滾動(dòng)或調整你的瀏覽器大小的`時(shí)候,它將重置所有內容并重畫(huà)頁(yè)面,這個(gè)時(shí)候它就會(huì )重新處理css表達式。這會(huì )引起一個(gè)丑陋的“振動(dòng)”bug,在此處固定位置的元素需要調整以跟上你的(頁(yè)面的)滾動(dòng),于是就會(huì )“跳動(dòng)”。

  解決此問(wèn)題的技巧就是使用background-attachment:fixed為body或html元素添加一個(gè)background-image。這就會(huì )強制頁(yè)面在重畫(huà)之前先處理CSS。因為是在重畫(huà)之前處理CSS,它也就會(huì )同樣在重畫(huà)之前首先處理你的CSS表達式。這將讓你實(shí)現完美的平滑的固定位置元素!

  然后我發(fā)現background-image無(wú)需一張真實(shí)的圖片,設置成about:blank就行了。

  下面附上完整代碼

  /* 除IE6瀏覽器的通用方法 */

  .ie6fixedTL{position:fixed;left:0;top:0}

  .ie6fixedBR{position:fixed;right:0;bottom:0}

  /* IE6瀏覽器的特有方法 */

  /* 修正IE6振動(dòng)bug */

  * html,* html body{background-image:url(about:blank);background-attachment:fixed}

  * html .ie6fixedTL{position:absolute;left:expression(eval(document.documentElement.scrollLeft));top:expression(eval(document.documentElement.scrollTop))}

  * html .ie6fixedBR{position:absolute;left:expression(eval(document.documentElement.scrollLeft+document.documentElement.clientWidth-this.offsetWidth)-(parseInt(this.currentStyle.marginLeft,10)||0)-(parseInt(this.currentStyle.marginRight,10)||0));top:expression(eval(document.documentElement.scrollTop+document.documentElement.clientHeight-this.offsetHeight-(parseInt(this.currentStyle.marginTop,10)||0)-(parseInt(this.currentStyle.marginBottom,10)||0)))}

  解決方案 篇3

  Android設置鬧鐘并不像IOS那樣這么簡(jiǎn)單,做過(guò)Android設置鬧鐘的開(kāi)發(fā)者都知道里面的坑有多深。下面記錄一下,我解決Android鬧鐘設置的解決方案。

  主要問(wèn)題

  1、API19開(kāi)始AlarmManager的機制修改。

  2、應用程序被Kill掉后,設置的鬧鐘不響。

  3、6.0以上進(jìn)入Doze模式會(huì )使JobScheduler停止工作。

  4、手機設置重啟后,鬧鐘失效問(wèn)題。

  API19以上AlarmManager機制的修改

  API19之前AlarmManager提供了三個(gè)設置鬧鐘的方法,由于業(yè)務(wù)需求鬧鐘只需要一次性,所以采用set(int type,long startTime,PendingIntent pi);這個(gè)方法。

  從API 19開(kāi)始,AlarmManager的機制都是非準確傳遞,操作系統將會(huì )轉換鬧鐘,來(lái)最小化喚醒和電池使用。

Android鬧鐘設置的解決方案1  

  由于之前的程序,沒(méi)有對API19以上的鬧鐘設置做處理,導致在4.4以上的手機設置鬧鐘無(wú)響應(應用程序沒(méi)有被殺死的情況也沒(méi)有鬧鐘)。

  因些,設置鬧鐘需要根據API的版本進(jìn)行分別處理設置。代碼如下:

  AlarmManager am = (AlarmManager) getActivity() .getSystemService(Context.ALARM_SERVICE);if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { am.setExact(AlarmManager.RTC_WAKEUP, TimeUtils .stringToLong(recordTime, TimeUtils.NO_SECOND_FORMAT), sender);}else { am.set(AlarmManager.RTC_WAKEUP, TimeUtils .stringToLong(recordTime, TimeUtils.NO_SECOND_FORMAT), sender);}

  這樣,保證鬧鐘在應用程序沒(méi)有被Kill掉的情況鬧鐘。

  應用程序被Kill掉時(shí)的處理

  應用程序被Kill掉后,設置的鬧鐘失效,這里利用守護進(jìn)程以及灰色;顏(lái)保證后臺鬧鐘服務(wù)不被Kill掉。當應用程序以及鬧鐘服務(wù)被Kill掉,守護進(jìn)程以及灰色;顏(lái)重新啟動(dòng)鬧鐘服務(wù),并且重新設置鬧鐘。

  關(guān)于守護進(jìn)程的處理,這里采用開(kāi)源的守護進(jìn)程庫。Android-AppDaemon

  在鬧鐘服務(wù)的onCreat加入Android-AppDaemon這個(gè)開(kāi)源的守護進(jìn)程。代碼如下:

  @Overridepublic void onCreate() { super.onCreate(); Daemon.run(DaemonService.this, DaemonService.class, Daemon.INTERVAL_ONE_MINUTE); startTimeTask(); grayGuard();}

  為進(jìn)一步保證鬧鐘服務(wù)的存活,同加上灰色;睿ɡ孟到y的漏洞啟動(dòng)前臺Service)。

  代碼如下:

  private void grayGuard() { if (Build.VERSION.SDK_INT < 18) { //API < 18 ,此方法能有效隱藏Notification上的圖標 startForeground(GRAY_SERVICE_ID, new Notification()); } else { Intent innerIntent = new Intent(this, DaemonInnerService.class); startService(innerIntent); startForeground(GRAY_SERVICE_ID, new Notification()); } //發(fā)送喚醒廣播來(lái)促使掛掉的UI進(jìn)程重新啟動(dòng)起來(lái) AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE); Intent alarmIntent = new Intent(); alarmIntent.setAction(WakeReceiver.GRAY_WAKE_ACTION); PendingIntent operation = PendingIntent.getBroadcast(this, WAKE_REQUEST_CODE, alarmIntent, PendingIntent.FLAG_UPDATE_CURRENT); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { alarmManager.setWindow(AlarmManager.RTC_WAKEUP, System.currentTimeMillis(), ALARM_INTERVAL, operation); }else { alarmManager.setInexactRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis(), ALARM_INTERVAL, operation); }}/** * 給 API >= 18 的平臺上用的灰色;钍侄 */public static class DaemonInnerService extends Service { @Override public void onCreate() { Log.i(LOG_TAG, "InnerService -> onCreate"); super.onCreate(); } @Override public int onStartCommand(Intent intent, int flags, int startId) { Log.i(LOG_TAG, "InnerService -> onStartCommand"); startForeground(GRAY_SERVICE_ID, new Notification()); //stopForeground(true); stopSelf(); return super.onStartCommand(intent, flags, startId); } @Override public IBinder onBind(Intent intent) { throw new UnsupportedOperationException("Not yet implemented"); } @Override public void onDestroy() { Log.i(LOG_TAG, "InnerService -> onDestroy"); super.onDestroy(); }}

  上面操作盡可能提高鬧鐘服務(wù)的存活。但是在5.0以上的手機,利用系統的自帶的Clean功能的時(shí)候,還是會(huì )將鬧鐘服務(wù)徹底的干掉。為了解決5.0以上的問(wèn)題,這里引入5.0以上的新特性 JobScheduler。

  5.0以上的JobScheduler

  在這里利用5.0以上的JobScheduler創(chuàng )建一個(gè)定時(shí)的任務(wù),定時(shí)檢測鬧鐘服務(wù)是否存在,沒(méi)在存在則重新啟動(dòng)鬧鐘服務(wù)。(這里我設置每一分鐘檢測一次鬧鐘服務(wù))

  在進(jìn)入應用程序的時(shí)候檢測當前系統是否是5.0以上,如果是則啟動(dòng)JobScheduler這個(gè)服務(wù)。代碼如下:

  if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { mJobScheduler = (JobScheduler) getSystemService(Context.JOB_SCHEDULER_SERVICE); JobInfo.Builder builder = new JobInfo.Builder(JOB_ID, new ComponentName(getPackageName(), JobSchedulerService.class.getName())); builder.setPeriodic(60 * 1000); //每隔60秒運行一次 builder.setRequiresCharging(true); builder.setPersisted(true); //設置設備重啟后,是否重新執行任務(wù) builder.setRequiresDeviceIdle(true); if (mJobScheduler.schedule(builder.build()) <= 0) { //If something goes wrong }}

  其中的builder.setPersisted(true); 方法是設備重啟后,是否重新執行任務(wù),在這測過(guò)是可以重新啟動(dòng)任務(wù)的。

  上面的操作進(jìn)一步保證了鬧鐘服務(wù)被Kill掉后,重新啟動(dòng)服務(wù)。但是在6.0以上引入了Doze模式,當6.0以上的手機進(jìn)入這個(gè)模式后,便會(huì )使JobScheduler停止工作。

  6.0以上Doze模式的處理

  為了讓JobScheduler可以在6.0以上進(jìn)入Doze模式工作,這里針對6.0以上的Doze模式做特殊的處理-忽略電池的優(yōu)化。

  在Manifest.xml中加入權限。

  在設置鬧鐘的時(shí)候,判斷系統是否是6.0以上,如果是,則判斷是否忽略電池的優(yōu)化。判斷是否忽略電池優(yōu)化代碼如下:

  @TargetApi(Build.VERSION_CODES.M)public static boolean isIgnoringBatteryOptimizations(Activity activity){ String packageName = activity.getPackageName(); PowerManager pm = (PowerManager) activity .getSystemService(Context.POWER_SERVICE); if (pm.isIgnoringBatteryOptimizations(packageName)) { return true; }else { return false; }}

  如果沒(méi)有忽略電池優(yōu)化的時(shí)候,彈出提醒對話(huà)框,提示用戶(hù)進(jìn)行忽略電池優(yōu)化操作。代碼如下:

  /*** 針對N以上的Doze模式** @param activity*/public static void isIgnoreBatteryOption(Activity activity) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { try { Intent intent = new Intent(); String packageName = activity.getPackageName(); PowerManager pm = (PowerManager) activity.getSystemService(Context.POWER_SERVICE); if (!pm.isIgnoringBatteryOptimizations(packageName)) {// intent.setAction(Settings.ACTION_IGNORE_BATTERY_OPTIMIZATION_SETTINGS); intent.setAction(Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS); intent.setData(Uri.parse("package:" + packageName)); activity.startActivityForResult(intent, REQUEST_IGNORE_BATTERY_CODE); } } catch (Exception e) { e.printStackTrace(); } }}

  在界面重寫(xiě)onActivityResult方法來(lái)捕獲用戶(hù)的選擇。如,代碼如下:

  @Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) { if (resultCode == RESULT_OK) { if (requestCode == BatteryUtils.REQUEST_IGNORE_BATTERY_CODE){ //TODO something } }else if (resultCode == RESULT_CANCELED){ if (requestCode == BatteryUtils.REQUEST_IGNORE_BATTERY_CODE){ ToastUtils.show(getActivity(), "請開(kāi)啟忽略電池優(yōu)化~"); } }}

  補充

  當應用程序被Kill掉,但是鬧鐘的`服務(wù)沒(méi)有被Kill掉的,這時(shí)候又設置了鬧鐘。這就意味著(zhù)設置的鬧鐘沒(méi)有放到鬧鐘服務(wù)那里。所以這種情況,設置的鬧鐘會(huì )失效。為了解決這種情況,利用AIDL(鬧鐘服務(wù)在另一個(gè)進(jìn)程的需要進(jìn)程間通信)調用鬧鐘服務(wù)的重新設置鬧鐘方法重設鬧鐘。

  在應用程序的onCreat()方法啟動(dòng)鬧鐘服務(wù),然后再綁定鬧鐘服務(wù)。

  private void initAlarmService() { startService(new Intent(this, DaemonService.class));//啟動(dòng)鬧鐘服務(wù) if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { //JobScheduler ... } //綁定鬧鐘服務(wù) Intent intent = new Intent(this, DaemonService.class); intent.setAction("android.intent.action.DaemonService"); bindService(intent, mConnection, Context.BIND_AUTO_CREATE);}

  在onDestroy()方法,調用鬧鐘服務(wù)的重設鬧鐘方法。代碼如下:

  @Overrideprotected void onDestroy() { super.onDestroy(); try {//判斷是否有鬧鐘,沒(méi)有則關(guān)閉鬧鐘服務(wù) String alarm = localPreferencesHelper.getString(LocalPreferencesHelper.ALARM_CLOCK); if (daemonService != -1 && mIRemoteService != null) {// android.os.Process.killProcess(daemonService); mIRemoteService.resetAlarm(); } if (!alarm.equals("[]")) { if (daemonService != -1) { startService(new Intent(this, DaemonService.class)); } } else { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { mJobScheduler.cancel(JOB_ID); } } unbindService(mConnection); //解除綁定服務(wù)。 } catch (Exception e) { }}

  這里說(shuō)明一下,當服務(wù)啟動(dòng)并且被綁定的情況下,unbindService是不會(huì )停止服務(wù)的。

  最后

  以上并不代表所有的Android手機的鬧鐘都可以用,這只是盡最大的可能保證大部分的手機。

  以上就是本文的全部?jì)热,希望對大家的學(xué)習有所幫助,也希望大家多多支持教程網(wǎng)。

  解決方案 篇4

  我的女友是一個(gè)詭計多端的家伙。我苦苦地追了她一年多,她始終在愛(ài)與不愛(ài)之間徘徊。我的關(guān)心和愛(ài)護,她每次都照單全收,但就是不肯把關(guān)系明確,存心吊我的胃口。我心里很矛盾:繼續追吧,對方是一根難啃的骨頭;她吧,又極不甘心,因為她確實(shí)是我夢(mèng)寐以求的對象。

  正當我處于迷茫之中的時(shí)候,在外地工作的大哥回來(lái)探親了。大哥見(jiàn)我整天愁?lèi)灴嗄樀,?wèn)我何故。我便把實(shí)情對大哥說(shuō)了。沒(méi)想到大哥聽(tīng)了爽朗一笑:“這其實(shí)是一個(gè)極容易解決的問(wèn)題呀!”我忙問(wèn):“怎么解決?”大哥說(shuō):“只要你痛下決心冷淡她一回,你很快就可以知道她究竟愛(ài)不愛(ài)你。如果她忍受不了你的冷淡——她可能會(huì )主動(dòng)向你伸出橄欖枝,也可能會(huì )千方百計找借口對你發(fā)脾氣——這都是愛(ài)你表現。如果她對你的冷淡無(wú)動(dòng)于衷,那你不如趁早死心!

  想想大哥說(shuō)得也有道理。于是斗膽按照大哥的主意一試,不再約她出去,她來(lái)電話(huà)也懶得接聽(tīng)。果然,不出一個(gè)星期,女友就主動(dòng)找上門(mén)來(lái)了。女友一見(jiàn)面就質(zhì)問(wèn)我:“這幾天干嗎不來(lái)找我?”我翹著(zhù)二郎腿反問(wèn):“我為什么要來(lái)找你?”女友以前還從未從我這兒領(lǐng)教過(guò)這種說(shuō)話(huà)的`口氣,頓時(shí)心里亂了方寸:“你……怎么了嘛?”我說(shuō):我沒(méi)怎么,只是現在想通了,不想再折騰自己!”女友一向聰明過(guò)人,自然很容易明白我話(huà)里的意思。她顯然意識到了問(wèn)題的嚴重性,馬上溫情脈脈地走近我:“我有什么不對你跟我說(shuō)嘛,不要生氣好不好?”我一把抱住女友猛吻,女友絲毫沒(méi)有反抗。

  我把的喜訊告訴大哥時(shí),大哥避開(kāi)大嫂悄悄地對我說(shuō):“你大嫂當初也是這樣,總在我面前趾高氣揚。后來(lái)我不再理睬她,她反而主動(dòng)來(lái)追我!

【解決方案】相關(guān)文章:

解決方案05-20

解決方案(實(shí)用)05-27

解決方案優(yōu)秀05-12

行業(yè)解決方案08-16

erp解決方案04-22

oa解決方案05-31

產(chǎn)品解決方案11-19

招聘解決方案02-14

解決方案(精)05-23

解決方案【優(yōu)秀】08-25