實(shí)用的解決方案模板合集四篇
為了確保事情或工作扎實(shí)開(kāi)展,時(shí)常需要預先制定一份周密的方案,方案是書(shū)面計劃,具有內容條理清楚、步驟清晰的特點(diǎn)。那么什么樣的方案才是好的呢?以下是小編精心整理的解決方案5篇,歡迎大家分享。
解決方案 篇1
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)最小化喚醒和電池使用。
由于之前的程序,沒(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)。
解決方案 篇2
概述
針對于近年來(lái)涌現出的越來(lái)越多,越來(lái)越復雜的汽車(chē)行業(yè)服務(wù)需求,軟通動(dòng)力依托自身多年在服務(wù)行業(yè)的經(jīng)驗,以及自身對于汽車(chē)行業(yè)的了解,加之多年針對國內外汽車(chē)相關(guān)企業(yè)的服務(wù)實(shí)踐,形成了一套具有自我特色的服務(wù)鏈條,為客戶(hù)提供及時(shí)、準確、高效的服務(wù)。
解決方案
基于軟通動(dòng)力對汽車(chē)行業(yè)的了解,相關(guān)行業(yè)服務(wù)包括:
針對于信息管理系統的服務(wù);
針對汽車(chē)行業(yè)的管理咨詢(xún)服務(wù),包括PMO及Rollout服務(wù);
針對汽車(chē)行業(yè)的移動(dòng)互聯(lián)的相關(guān)服務(wù);
軟通根據不同的服務(wù)需求,嚴格遵循相關(guān)服務(wù)流程,在每個(gè)關(guān)鍵節點(diǎn)對服務(wù)成果進(jìn)行監控,并持續進(jìn)行修正,最終讓客戶(hù)滿(mǎn)意。
能力優(yōu)勢
多年的行業(yè)服務(wù)經(jīng)驗;
針對于信息系統方面的.多年開(kāi)發(fā)、測試、運維的經(jīng)驗;
眾多移動(dòng)互聯(lián)方向項目的實(shí)施經(jīng)驗;
針對汽車(chē)制造商內部IT項目管理提供咨詢(xún)(PMO)服務(wù),幫助主機廠(chǎng)高效利用資源與合理分配項目資金,對正在運作的相關(guān)項目提供專(zhuān)業(yè)化的項目管理指導;
針對汽車(chē)制造商幫助品牌經(jīng)銷(xiāo)商上線(xiàn)相關(guān)信息管理系統提供Rollout咨詢(xún)服務(wù)。
客戶(hù)收益
定制化的汽車(chē)行業(yè)服務(wù)方案,滿(mǎn)足客戶(hù)的多樣服務(wù)需求;
不斷完善服務(wù)模型,能為客戶(hù)提供高品質(zhì)、高效的服務(wù);
幫助客戶(hù)實(shí)現對市場(chǎng)的準確定位及精準服務(wù);
幫助客戶(hù)更好地預測及分析全球市場(chǎng)動(dòng)態(tài),及時(shí)有效的調整企業(yè)發(fā)展戰略。
典型客戶(hù)
某全球工程車(chē)知名企業(yè)
某國有知名汽車(chē)集團
某全球汽車(chē)知名企業(yè)
某全球汽車(chē)企業(yè)中國合資公司
成功案例
。20xx-至今)某國有知名汽車(chē)集團—信息系統研發(fā)項目
。╔X-XX)某全球汽車(chē)知名企業(yè)IT部門(mén)--PMO & Rollout服務(wù)
。╔X-至今)某全球汽車(chē)企業(yè)中國合資公司R&D中心--PMO服務(wù)
。╔X-至今)某國有知名汽車(chē)集團— CRM市場(chǎng)營(yíng)銷(xiāo)APP平臺開(kāi)發(fā)運維項目
解決方案 篇3
我國房地產(chǎn)行業(yè)始于20世紀80年代初期,經(jīng)歷了漫長(cháng)的發(fā)展,跨入21世紀,隨著(zhù)國內外形式的變化,行業(yè)的宏觀(guān)環(huán)境發(fā)生了巨大的變化。中國房地產(chǎn)業(yè)正處于向規;、品牌化、低成本、規范運作的轉型時(shí)期,現階段對房地產(chǎn)行業(yè)的管理提出了更高的要求,如提高行業(yè)技術(shù)和服務(wù)水平,降低成本和營(yíng)銷(xiāo)費用,提高利潤率等。
我國房地產(chǎn)企業(yè)多為跨地域經(jīng)營(yíng),以項目為單元進(jìn)行業(yè)務(wù)管理,對業(yè)務(wù)過(guò)程都制定了嚴格標準的管理流程和業(yè)務(wù)制度,實(shí)現從計劃到執行的規范與高效,同時(shí),房地產(chǎn)行業(yè)存在大量的資金流轉,對資金的管理和成本費用的控制難度較大。
行業(yè)管理困惑
計劃執行有偏差。項目計劃執行過(guò)程調整頻繁,存在搶工期現象,執行進(jìn)度及質(zhì)量控制存在風(fēng)險招標管理不規范。招標計劃管理不到位,存在先斬后奏現象,成本不可控,招標審批過(guò)程不透明,缺乏監管,招標資料散亂,信息流失嚴重合同管理缺乏記錄。工程采購合同量大,審批過(guò)程遲緩,涉及付款項目多,預算核算工作量大,常有遺漏,合同付款批次多,易出現重復付款情況跨地域協(xié)作不便?偛颗c異地項目公司溝通成本高,時(shí)效性差,信息傳遞存在衰減。
計劃管理
通過(guò)計劃管理落實(shí)跟進(jìn)項目計劃的執行過(guò)程,實(shí)時(shí)記錄反饋?lái)椖窟M(jìn)度及質(zhì)量,保障項目順利開(kāi)展。
實(shí)現項目計劃從報批到安排再到執行與反饋的全過(guò)程管理;實(shí)時(shí)把控計劃進(jìn)度最新情況,掌握一手資料,信息記錄與留痕;動(dòng)態(tài)數據分析,監管計劃執行過(guò)程,及時(shí)發(fā)現問(wèn)題,輔助決策。
招標管理
建立完整供應商信息庫,通過(guò)招標需求和計劃進(jìn)行前期管理,并完整記錄招標過(guò)程各項信息,規范招標過(guò)程。
建立完整的供方信息庫和招標資料庫,便于信息檢索和核查;規范招標過(guò)程管理,可視化監管招標情況,信息完整、記錄留痕;實(shí)時(shí)數據監控,掌握招標前后過(guò)程,提前控制,輔助決策。
合同管理
建立合同管理從審批到歸檔到執行的`全過(guò)程管控機制,對合同檔案和付款信息均有完整記錄,有據可查建立合同從擬定審批,到歸檔執行,再到付款的全過(guò)程管理;規范合同過(guò)程管理,跟進(jìn)履約情況,掌握付款記錄;根據合同執行情況分析,制定準確的季度、月度預算。
協(xié)同工作
將各項工作分類(lèi)匯總,建立網(wǎng)絡(luò )化溝通渠道和信息展現平臺,實(shí)現信息共享、有效授權、順暢溝通實(shí)時(shí)、多維查看全部在建項目信息,確保及時(shí)發(fā)現問(wèn)題,快速響應,為管理者提供決策依據。
方案優(yōu)勢
集團監控
通過(guò)決策支持(BI)系統,實(shí)現對項目各種統計報表、KPI指標的預警分析。
公司管控
按照管理職能分工,對項目、人員、資金、市場(chǎng)等進(jìn)行對口管控。
項目管控
規范基層項目執行操作,使項目管理體系可執行、可協(xié)同、可監控。
全員應用、全過(guò)程管理通過(guò)業(yè)務(wù)平臺集成實(shí)現全員應用、全過(guò)程管理(任何人、任何時(shí)間,任何地點(diǎn))。通過(guò)平臺與內外部單位的業(yè)務(wù)協(xié)同。
解決方案 篇4
為進(jìn)一步提升服務(wù)企業(yè)、服務(wù)項目、服務(wù)發(fā)展的能力和水平,大力弘揚“主動(dòng)服務(wù)、創(chuàng )新服務(wù)、高效服務(wù)、廉潔服務(wù)”的工作作風(fēng),按照市優(yōu)化經(jīng)濟發(fā)展軟環(huán)境領(lǐng)導小組《關(guān)于在全市開(kāi)展“問(wèn)題解決月”活動(dòng)的實(shí)施方案》要求,結合我局實(shí)際,現就組織開(kāi)展“問(wèn)題解決月”活動(dòng)提出如下實(shí)施方案。
一、工作目標
以“強化服務(wù)解難題,提升效能促發(fā)展”為主題,以企業(yè)滿(mǎn)意為標準,切實(shí)解決科技部門(mén)在服務(wù)企業(yè)發(fā)展、推進(jìn)科技創(chuàng )新中存在的問(wèn)題,扶助企業(yè)做優(yōu)做強。
二、目標任務(wù)
將開(kāi)展“問(wèn)題解決月”活動(dòng)作為創(chuàng )先爭優(yōu)活動(dòng)的重要內容、深化能力作風(fēng)建設的重要載體,努力形成支持發(fā)展、服務(wù)發(fā)展的濃厚氛圍,為企業(yè)和群眾多辦事、辦實(shí)事、辦好事,為加快轉型升級創(chuàng )造良好的'環(huán)境。
三、活動(dòng)內容和步驟
。ㄒ唬┬麄靼l(fā)動(dòng)(3月上旬)。成立“問(wèn)題解決月”活動(dòng)領(lǐng)導小組,制定活動(dòng)實(shí)施方案。召開(kāi)會(huì )議,進(jìn)行廣泛深入地宣傳發(fā)動(dòng),統一思想,形成全力。
。ǘ┱{研收集問(wèn)題(3月中旬至6月底)。依據我局的職能,三個(gè)職能科室各為一個(gè)組,開(kāi)展“走進(jìn)企業(yè)、服務(wù)發(fā)展”工作,通過(guò)走訪(fǎng)、座談會(huì )、網(wǎng)站征集等形式,認真聽(tīng)取企業(yè)的意見(jiàn)、建議,深入查找本單位服務(wù)效率、工作作風(fēng)和企業(yè)科技創(chuàng )新面臨的難題。綜合計劃科調研收集創(chuàng )新型城市建設、高新技術(shù)產(chǎn)業(yè)發(fā)展、創(chuàng )新平臺建設、科技興農等方面的問(wèn)題與不足。法規科調研收集企業(yè)知識產(chǎn)權戰略實(shí)施、知識產(chǎn)權保護等方面的問(wèn)題與不足?萍挤⻊(wù)科調研收集企業(yè)科技創(chuàng )新中所面臨的技術(shù)難題、人才短缺和產(chǎn)學(xué)研合作等方面的問(wèn)題與不足。針對排查出的問(wèn)題,迅速制定整改措施加以解決(收集到的問(wèn)題及整改情況于6月底前報市優(yōu)化辦)。
。ㄈ┙鉀Q問(wèn)題(7月)。根據深入企業(yè)和服務(wù)單位收集到的問(wèn)題,召開(kāi)“問(wèn)題解決月”活動(dòng)領(lǐng)導小組會(huì )議,對問(wèn)題逐條逐項地進(jìn)行分析研究,對問(wèn)題的解決情況進(jìn)行督查,確保解決一批制約我市科技創(chuàng )新的瓶頸問(wèn)題。
(四)鞏固提高(8月)。開(kāi)展問(wèn)題“回頭看”,鞏固活動(dòng)成果。對已經(jīng)解決的問(wèn)題,要加強回訪(fǎng);對辦理進(jìn)度、難度較大的問(wèn)題,需要別的部門(mén)協(xié)調解決的,加大協(xié)調力度。各科室要對開(kāi)展“問(wèn)題解決月”活動(dòng)情況進(jìn)行認真總結(總結于8月15日前報局辦公室),對舉措實(shí)、效果好、企業(yè)滿(mǎn)意度高的典型事例,將在全局進(jìn)行推廣,形成服務(wù)企業(yè)的長(cháng)效機制。
【解決方案】相關(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