【熱門】解決方案模板匯編五篇
為了確保事情或工作得以順利進(jìn)行,就常常需要事先準(zhǔn)備方案,方案是有很強(qiáng)可操作性的書面計(jì)劃。優(yōu)秀的方案都具備一些什么特點(diǎn)呢?以下是小編精心整理的解決方案5篇,僅供參考,希望能夠幫助到大家。
解決方案 篇1
1、開機(jī)時(shí)不停按F8
首先要重啟電腦,在開機(jī)的時(shí)候不停地按F8鍵,如果不停地按之后出現(xiàn)了一個(gè)黑底白字的菜單,那萬幸,說明你的系統(tǒng)尚無大礙。我們進(jìn)入系統(tǒng)的安全模式,進(jìn)入之后殺毒,對(duì)缺少的系統(tǒng)文件進(jìn)行修復(fù)。然后再重開機(jī) ,或許問題就順利解決了。
2、開機(jī)前不停按鍵盤的上下鍵
如果你不?癜碏8卻什么反應(yīng)都沒有,說明電腦的問題已經(jīng)比較嚴(yán)重了。這時(shí)如果你的系統(tǒng)先前有備份,這時(shí)或許還有一線生機(jī)。再重啟,開機(jī)之前一直不停地按鍵盤的上下鍵,如果出現(xiàn)了一個(gè)系統(tǒng)選擇的'菜單,說明問題依然不大,只是系統(tǒng)的問題,不是硬件的問題。選擇進(jìn)入還原程序,進(jìn)行系統(tǒng)還原。還原之后,當(dāng)然就可以順利開機(jī)了。
3、進(jìn)入BIOS,修復(fù)系統(tǒng)
如果你不管按什么鍵,都不能喚醒這個(gè)黑色閃光標(biāo)界面時(shí),說明問題已經(jīng)病入膏肓了。到了這種步驟也不能斷定說是硬件問題,通過軟件的操作或許還能解決。這時(shí)候你可能要用到pe系統(tǒng)了。重新開機(jī),進(jìn)入BIOS,選擇U盤啟動(dòng),進(jìn)入pe系統(tǒng)。進(jìn)入之后再把系統(tǒng)問題修復(fù)一下,或者殺毒,或者修復(fù)。修復(fù)完成,重新開機(jī),問題或許迎刃而解。
解決方案 篇2
Android設(shè)置鬧鐘并不像IOS那樣這么簡(jiǎn)單,做過Android設(shè)置鬧鐘的開發(fā)者都知道里面的坑有多深。下面記錄一下,我解決Android鬧鐘設(shè)置的解決方案。
主要問題
1、API19開始AlarmManager的機(jī)制修改。
2、應(yīng)用程序被Kill掉后,設(shè)置的鬧鐘不響。
3、6.0以上進(jìn)入Doze模式會(huì)使JobScheduler停止工作。
4、手機(jī)設(shè)置重啟后,鬧鐘失效問題。
API19以上AlarmManager機(jī)制的修改
API19之前AlarmManager提供了三個(gè)設(shè)置鬧鐘的方法,由于業(yè)務(wù)需求鬧鐘只需要一次性,所以采用set(int type,long startTime,PendingIntent pi);這個(gè)方法。
從API 19開始,AlarmManager的機(jī)制都是非準(zhǔn)確傳遞,操作系統(tǒng)將會(huì)轉(zhuǎn)換鬧鐘,來最小化喚醒和電池使用。
由于之前的程序,沒有對(duì)API19以上的鬧鐘設(shè)置做處理,導(dǎo)致在4.4以上的手機(jī)設(shè)置鬧鐘無響應(yīng)(應(yīng)用程序沒有被殺死的情況也沒有鬧鐘)。
因些,設(shè)置鬧鐘需要根據(jù)API的版本進(jìn)行分別處理設(shè)置。代碼如下:
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);}
這樣,保證鬧鐘在應(yīng)用程序沒有被Kill掉的情況鬧鐘。
應(yīng)用程序被Kill掉時(shí)的處理
應(yīng)用程序被Kill掉后,設(shè)置的鬧鐘失效,這里利用守護(hù)進(jìn)程以及灰色;顏肀WC后臺(tái)鬧鐘服務(wù)不被Kill掉。當(dāng)應(yīng)用程序以及鬧鐘服務(wù)被Kill掉,守護(hù)進(jìn)程以及灰色保活來重新啟動(dòng)鬧鐘服務(wù),并且重新設(shè)置鬧鐘。
關(guān)于守護(hù)進(jìn)程的處理,這里采用開源的守護(hù)進(jìn)程庫(kù)。Android-AppDaemon
在鬧鐘服務(wù)的onCreat加入Android-AppDaemon這個(gè)開源的守護(hù)進(jìn)程。代碼如下:
@Overridepublic void onCreate() { super.onCreate(); Daemon.run(DaemonService.this, DaemonService.class, Daemon.INTERVAL_ONE_MINUTE); startTimeTask(); grayGuard();}
為進(jìn)一步保證鬧鐘服務(wù)的存活,同加上灰色;睿ɡ孟到y(tǒng)的漏洞啟動(dòng)前臺(tái)Service)。
代碼如下:
private void grayGuard() { if (Build.VERSION.SDK_INT < 18) { //API < 18 ,此方法能有效隱藏Notification上的圖標(biāo) startForeground(GRAY_SERVICE_ID, new Notification()); } else { Intent innerIntent = new Intent(this, DaemonInnerService.class); startService(innerIntent); startForeground(GRAY_SERVICE_ID, new Notification()); } //發(fā)送喚醒廣播來促使掛掉的UI進(jìn)程重新啟動(dòng)起來 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 的平臺(tái)上用的灰色;钍侄 */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以上的手機(jī),利用系統(tǒng)的自帶的Clean功能的時(shí)候,還是會(huì)將鬧鐘服務(wù)徹底的干掉。為了解決5.0以上的問題,這里引入5.0以上的新特性 JobScheduler。
5.0以上的JobScheduler
在這里利用5.0以上的JobScheduler創(chuàng)建一個(gè)定時(shí)的.任務(wù),定時(shí)檢測(cè)鬧鐘服務(wù)是否存在,沒在存在則重新啟動(dòng)鬧鐘服務(wù)。(這里我設(shè)置每一分鐘檢測(cè)一次鬧鐘服務(wù))
在進(jìn)入應(yīng)用程序的時(shí)候檢測(cè)當(dāng)前系統(tǒng)是否是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秒運(yùn)行一次 builder.setRequiresCharging(true); builder.setPersisted(true); //設(shè)置設(shè)備重啟后,是否重新執(zhí)行任務(wù) builder.setRequiresDeviceIdle(true); if (mJobScheduler.schedule(builder.build()) <= 0) { //If something goes wrong }}
其中的builder.setPersisted(true); 方法是設(shè)備重啟后,是否重新執(zhí)行任務(wù),在這測(cè)過是可以重新啟動(dòng)任務(wù)的。
上面的操作進(jìn)一步保證了鬧鐘服務(wù)被Kill掉后,重新啟動(dòng)服務(wù)。但是在6.0以上引入了Doze模式,當(dāng)6.0以上的手機(jī)進(jìn)入這個(gè)模式后,便會(huì)使JobScheduler停止工作。
6.0以上Doze模式的處理
為了讓JobScheduler可以在6.0以上進(jìn)入Doze模式工作,這里針對(duì)6.0以上的Doze模式做特殊的處理-忽略電池的優(yōu)化。
在Manifest.xml中加入權(quán)限。
在設(shè)置鬧鐘的時(shí)候,判斷系統(tǒng)是否是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; }}
如果沒有忽略電池優(yōu)化的時(shí)候,彈出提醒對(duì)話框,提示用戶進(jìn)行忽略電池優(yōu)化操作。代碼如下:
/*** 針對(duì)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(); } }}
在界面重寫onActivityResult方法來捕獲用戶的選擇。如,代碼如下:
@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(), "請(qǐng)開啟忽略電池優(yōu)化~"); } }}
補(bǔ)充
當(dāng)應(yīng)用程序被Kill掉,但是鬧鐘的服務(wù)沒有被Kill掉的,這時(shí)候又設(shè)置了鬧鐘。這就意味著設(shè)置的鬧鐘沒有放到鬧鐘服務(wù)那里。所以這種情況,設(shè)置的鬧鐘會(huì)失效。為了解決這種情況,利用AIDL(鬧鐘服務(wù)在另一個(gè)進(jìn)程的需要進(jìn)程間通信)調(diào)用鬧鐘服務(wù)的重新設(shè)置鬧鐘方法重設(shè)鬧鐘。
在應(yīng)用程序的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()方法,調(diào)用鬧鐘服務(wù)的重設(shè)鬧鐘方法。代碼如下:
@Overrideprotected void onDestroy() { super.onDestroy(); try {//判斷是否有鬧鐘,沒有則關(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) { }}
這里說明一下,當(dāng)服務(wù)啟動(dòng)并且被綁定的情況下,unbindService是不會(huì)停止服務(wù)的。
最后
以上并不代表所有的Android手機(jī)的鬧鐘都可以用,這只是盡最大的可能保證大部分的手機(jī)。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持教程網(wǎng)。
解決方案 篇3
新研究發(fā)現(xiàn),睡覺時(shí)開燈的兒童或者生物鐘自然睡眠模式受人造光線干擾的人,患癌癥的可能性比平常人要大。原因是人造光線對(duì)人體的破壞性影響會(huì)降低人體降黑素的水平。而降黑素通常會(huì)在夜晚增加,其作用是保護(hù)細(xì)胞免受損傷。
研究人員指出兒童白血病發(fā)病率的增多,很可能與夜晚暴露在燈光下有關(guān)。
如果孩子怕黑,你會(huì)給他在床頭留一盞燈,這看來似乎很溫馨的畫面,實(shí)際上卻蘊(yùn)含了不健康的生活習(xí)慣,床頭的燈光不僅會(huì)影響孩子的睡眠質(zhì)量,而且會(huì)影響他的視力發(fā)育,給他今后的生活帶來很大的不便。許多研究證明,幼兒睡覺時(shí)開燈會(huì)成倍增加罹患近視的幾率。
科學(xué)家們研究發(fā)現(xiàn),任何人工光源都會(huì)產(chǎn)生一種微妙的光壓力,這種光壓力的長(zhǎng)期存在,會(huì)使人、尤其是嬰幼兒表現(xiàn)得躁動(dòng)不安、情緒不寧,以致難于成眠。同時(shí),讓寶寶久在燈光下睡覺,進(jìn)而影響網(wǎng)狀激活系統(tǒng),就會(huì)使他們每次睡眠的時(shí)間縮短,睡眠深度變淺而容易驚醒。
此外,寶寶長(zhǎng)久在燈光下睡眠,對(duì)孩子的視力發(fā)育大大不利;睡眠時(shí)熄燈,意義就在于使眼球和睫狀肌獲得充分的`休息,長(zhǎng)期暴露在燈光下睡覺,光線對(duì)眼睛的刺激會(huì)持續(xù)不斷,眼球和睫狀肌便不能得到充分的休息。這對(duì)于嬰幼兒來說,極易造成視網(wǎng)膜的損害,影響其視力的正常發(fā)育。
年輕的父母或許會(huì)說,我們的孩子經(jīng)常不能好好入睡,他怕黑,而且我們?cè)谕粋(gè)房間里,孩子睡覺的時(shí)候,大人往往還在活動(dòng),開燈有時(shí)候是不得已的。我們建議從以下幾個(gè)方面入手,看看能不能避免這樣的狀況:
孩子怕黑:請(qǐng)回憶一下家里有沒有人曾經(jīng)利用黑夜的恐怖氣氛來威脅孩子入睡(比如家里的老人和保姆對(duì)孩子說,如果再不好好睡覺,鬼就來抓你走,你再也看不到爸爸媽媽了)。這是造成孩子懼怕黑夜的一個(gè)很普遍的原因。解決的方法是,帶孩子在月光下散步,告訴他黑夜很安詳很美麗,在孩子睡覺時(shí)把他最喜歡的玩具熊和布娃娃放在枕邊,把孩子的被角掖好,最后拉上窗簾、熄燈。
孩子還不愿入睡:不要大吼強(qiáng)迫孩子睡覺,如果時(shí)間還早,可以給孩子講些故事,條件是,故事講完了,就得乖乖地熄燈睡覺。記住,不要講恐怖故事。
如果父母和孩子在同一個(gè)房間:不要讓光源對(duì)著孩子,盡量使用小臺(tái)燈,更不要看電視,即便是把音量放到最低。如果可以的話,在睡床與光源之間,用隔屏或布簾加以遮擋。
孩子遇到惡夢(mèng):在這種情況下,父母應(yīng)該陪伴孩子到他再次睡著為止,甚至可以和他睡一個(gè)晚上,而不要利用開著的臺(tái)燈來為孩子驅(qū)趕惡夢(mèng)。
解決方案 篇4
原因一 : 應(yīng)用程序后臺(tái)的緩存和殘留數(shù)據(jù)過多
解決方法:
如果手機(jī)的某應(yīng)用程序出現(xiàn)頻繁閃退情況,那么最有可能的原因就是該應(yīng)用程序后臺(tái)的緩存和殘留數(shù)據(jù)過多,需通過手機(jī)設(shè)置進(jìn)入應(yīng)用程序后端,定期清除應(yīng)用程序垃圾。
進(jìn)入設(shè)置 -- 應(yīng)用 -- 應(yīng)用管理 -- 找到相對(duì)應(yīng)的應(yīng)用,清空緩存即可。
原因二 :后臺(tái)運(yùn)行程序過多
解決方法:
如果開啟應(yīng)用過多,也可能會(huì)造成應(yīng)用閃退,不常使用到的應(yīng)用,將其手動(dòng)關(guān)閉。
按下多任務(wù)鍵--從導(dǎo)航欄向上滑動(dòng),關(guān)閉應(yīng)用。
原因三 : 應(yīng)用可能存在病毒
解決方法:
閃退的出現(xiàn)還有可能就是應(yīng)用程序已經(jīng)感染了病毒,已經(jīng)被手機(jī)安全軟件所攔截,所以無法打開應(yīng)用軟件或者出現(xiàn)閃退,可以檢查一下安全軟件的攔截紀(jì)錄。如果確定是帶病毒的應(yīng)用程序,應(yīng)立刻刪除并通過正規(guī)渠道下載軟件。
(華為應(yīng)用市場(chǎng)里的.應(yīng)用大部分均通過人工檢測(cè)有保障,而且你還可以利用手機(jī)管家定期進(jìn)行檢測(cè)。)
原因四 :沒有給應(yīng)用程序升級(jí)版本
解決辦法:
忘記給應(yīng)用程序升級(jí)版本也可能是造成閃退的原因,因?yàn)楹枚啻笮陀螒蚧蛘邞?yīng)用程序是需要安裝額外的數(shù)據(jù)包才能正常運(yùn)行,所以時(shí)不時(shí)的也要升級(jí)一下經(jīng)常使用的應(yīng)用程序。
原因五 :應(yīng)用程序不兼容
解決辦法:
由于手機(jī)軟硬件形態(tài)不同,應(yīng)用程序?qū)ο到y(tǒng)版本是有要求的,所以不兼容造成的閃退在所難免。建議定期升級(jí)你的軟件,應(yīng)用開發(fā)商會(huì)在后期對(duì)軟件進(jìn)行適配。如果已經(jīng)是最新版本,建議卸載該應(yīng)用后,重新安裝。
解決方案 篇5
近日,長(zhǎng)安區(qū)出臺(tái)16項(xiàng)就業(yè)創(chuàng)業(yè)脫貧政策,包括免費(fèi)就業(yè)創(chuàng)業(yè)登記、免費(fèi)技能培訓(xùn)、公益性崗位、大學(xué)生創(chuàng)業(yè)貸款、小微企業(yè)貸款、創(chuàng)業(yè)孵化基地優(yōu)惠政策等內(nèi)容,以“扶智+造血”為重心,用創(chuàng)新的方式、創(chuàng)新的思維來解決農(nóng)村貧困勞動(dòng)力就業(yè)難增收難脫貧難問題。
據(jù)了解,在長(zhǎng)安區(qū),建檔立卡的農(nóng)村貧困勞動(dòng)力可申請(qǐng)并免費(fèi)辦理《就業(yè)創(chuàng)業(yè)證》,憑證享受免費(fèi)就業(yè)指導(dǎo)、職業(yè)介紹、免費(fèi)培訓(xùn)等政策和服務(wù)。在扶貧部門認(rèn)定的貧困村特別設(shè)立2至3個(gè)就業(yè)扶貧公益性援助崗位,安置“三無”貧困勞動(dòng)力就業(yè),該崗位每人每月補(bǔ)貼600元。建檔立卡的應(yīng)屆和畢業(yè)兩年未就業(yè)的貧困大學(xué)生,在長(zhǎng)安區(qū)見習(xí)企業(yè)(單位)按規(guī)定參加就業(yè)見習(xí),可享受每人每月不低于1000元的生活補(bǔ)貼。
同時(shí),建檔立卡的'貧困勞動(dòng)力創(chuàng)辦的經(jīng)濟(jì)實(shí)體,經(jīng)工商行政管理部門注冊(cè),穩(wěn)定經(jīng)營(yíng)6個(gè)月以上的,可申請(qǐng)每人3000元的一次性創(chuàng)業(yè)補(bǔ)貼。同時(shí),還有最高不超過10萬元的個(gè)人創(chuàng)業(yè)擔(dān)保貸款和不超過50萬元的大學(xué)生創(chuàng)業(yè)貸款政策。
【解決方案】相關(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