日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Android實現定時任務及鬧鐘

瀏覽:177日期:2022-09-23 15:01:20

android中定時有很多種是實現,常見的Handler 與Thread的結合,handler.postDelayed ,以及要使用的AlarmManger 等都可以實現定時任務的執行,但是使用場景卻大不相同,這里主要是怎么用AlarmManager實現定時任務。

涉及知識點:

1)BroadCastReceiver任務接收

2)CountDownTimer倒計時

3)AlertDialog 任務提醒

4)AlarmManager 定時任務

這里實現的需求時每天定時24點關機,有設備是定制系統,防止長時間的不關機導致應用的卡頓,在關機時并給用戶以提示,如果無操作就自動關機。

第一步是實現簡單布局,在布局中寫兩個Button,一個設置,一個取消 第二步:初始化頁面布局及Button

public class MainActivity extends AppCompatActivityimplements View.OnClickListener{Button btn_set,btn_cancel;AlarmManager am;PendingIntent pi;long time;@Overrideprotected void onCreate(@NullableBundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);initView();}private void initView(){btn_set=findViewById(R.id.btn_Set);btn_cancel=findViewById(R.id.btn_Cancel);btn_set.setOnClickListener(this);btn_cancel.setOnClickListener(this);initAlarm();}@Overridepublic void onClick(View v) {switch(v.getId()){case R.id.btn_Set:setAlarm();break;case R.id.btn_Cancel:cancelAlarm();break;}}// 初始化Alarmprivate void initAlarm(){pi=PendingIntent.getBroadcast(this,0,getMsgIntent(),0);time=System.currentTimeMillis();am= (AlarmManager) getSystemService(ALARM_SERVICE);}private Intent getMsgIntent(){//AlarmReceiver 為廣播在下面代碼中Intent intent=newIntent(this,AlarmReceiver.class);intent.setAction(AlarmReceiver.BC_ACTION);intent.putExtra('msg','鬧鐘開啟');return intent;}//設置定時執行的任務private void setAlarm(){//android Api的改變不同版本中設 置有所不同if(Build.VERSION.SDK_INT<19){am.set(AlarmManager.RTC_WAKEUP,getTimeDiff(),pi);}else{am.setExact(AlarmManager.RTC_WAKEUP,getTimeDiff(),pi);}}public long getTimeDiff(){//這里設置的是當天的15:55分,注意精確到秒,時間可以自由設置Calendar ca=Calendar.getInstance();ca.set(Calendar.HOUR_OF_DAY,15);ca.set(Calendar.MINUTE,55);ca.set(Calendar.SECOND,0);return ca.getTimeInMillis();}//取消定時任務的執行private void cancelAlarm(){am.cancel(pi);}}

廣播主要代碼

import android.app.AlertDialog;import android.content.BroadcastReceiver;import android.content.Context;import android.content.DialogInterface;import android.content.Intent;import android.os.Build;import android.os.CountDownTimer;import android.util.Log;import android.view.WindowManager;import android.widget.Toast;public class AlarmReceiver extends BroadcastReceiver {private String TAG=this.getClass().getSimpleName();public static final String BC_ACTION='com.ex.action.BC_ACTION';private AlertDialog.Builder builder;CountDownTimer timer;@Overridepublic void onReceive(Context context,Intent intent) {String msg=intent.getStringExtra('msg');Log.i(TAG,'get Receiver msg :'+msg);Toast.makeText(context,msg,Toast.LENGTH_LONG).show();showConfirmDialog(context);}private void showConfirmDialog(Context context){builder=newAlertDialog.Builder(context);builder.setTitle('提示').setMessage('將在30秒后關機').setCancelable(false).setPositiveButton('取消',newDialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, intwhich) {if(timer!=null)timer.cancel();}});setShowDialogType(context,builder.create());}private void setShowDialogType(Context context,AlertDialog alertDialog){int type;if(Build.VERSION.SDK_INT>24){type= WindowManager.LayoutParams.TYPE_PHONE;}else if(Build.VERSION.SDK_INT>18){type= WindowManager.LayoutParams.TYPE_TOAST;}else{type = WindowManager.LayoutParams.TYPE_SYSTEM_ALERT;}alertDialog.getWindow().setType(type);alertDialog.show();//開啟倒計時,并設置倒計時時間(秒)startCountDownTimer(context,alertDialog,30);}private void startCountDownTimer(final Context context,final AlertDialog alertDialog,inttime){timer=newCountDownTimer(time*1000,1000) {@Overridepublic void onTick(long millisUntilFinished) {//倒計時提示文字Log.i(TAG,'onTick time :'+millisUntilFinished);alertDialog.setMessage('將在'+(millisUntilFinished/1000)+'關機');}@Overridepublic void onFinish() {//倒計時結束Log.i(TAG,'倒計時結束!');alertDialog.dismiss();//倒計時結束執行定時的任務// shutdown(context);}};timer.start();}//shoutDown需要 系統權限才能執行否則會提示權限異常public void shutDown(Context context) {String action ='android.intent.action.ACTION_REQUEST_SHUTDOWN';String extraName ='android.intent.extra.USER_REQUESTED_SHUTDOWN';Intent intent =newIntent(action);intent.putExtra(extraName, true);intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);context.startActivity(intent);}}

在AndroidManifest.xml中聲明配置文件中聲明:

如實全部代碼實現定時任務

彈框需要如下權限:

< uses-permission android:name=”android.permission.SYSTEM_ALERT_WINDOW”/>

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Android
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
国产精品福利在线观看播放| 国产伦久视频在线观看| 色爱av综合网| 国产白浆在线免费观看| 精品视频97| 国产精品1区| 欧美国产免费| 久久精品免视看国产成人| 麻豆一区二区三| 国产精品99精品一区二区三区∴| 欧美有码在线| 国产精品xvideos88| 久久97视频| 里番精品3d一二三区| 精品亚洲自拍| 播放一区二区| 在线成人直播| 亚洲性视频在线| 婷婷成人av| 久久国内精品自在自线400部| 国产午夜一区| 精品国产亚洲一区二区三区在线| 久久电影tv| 亚洲午夜久久久久久尤物| 亚洲一区日韩| 日本在线成人| 欧美激情aⅴ一区二区三区| 国际精品欧美精品| 日韩精品1区| 欧美精品一区二区久久| 综合激情在线| 国产精品久久久亚洲一区| www.51av欧美视频| 国产偷自视频区视频一区二区| 亚洲免费中文| 国产精品一区二区三区www| 国内一区二区三区| 国产韩日影视精品| 青青草国产成人99久久| 成人在线观看免费视频| 一区视频在线| 日本精品国产| 亚洲成a人片| 午夜在线精品偷拍| 青草av.久久免费一区| 国产乱码午夜在线视频| 丝袜a∨在线一区二区三区不卡| 国产免费播放一区二区| 久久久精品网| 视频国产精品| 成人一区而且| 丝袜诱惑制服诱惑色一区在线观看| 国产乱码精品一区二区三区亚洲人| 日韩国产欧美一区二区| 亚洲精品乱码久久久久久蜜桃麻豆| 精品久久福利| 欧美综合二区| 精品国产精品国产偷麻豆| 亚洲精品888| 蜜桃久久久久久久| 高清av不卡| 日韩1区2区3区| www.com.cn成人| 亚洲精品伊人| 91精品国产成人观看| 国产欧美三级| 欧美日韩免费观看一区=区三区 | 99久久久久国产精品| 欧美专区一区| 亚洲精品中文字幕乱码| 精品国产不卡一区二区| 亚洲精品伊人| 樱桃视频成人在线观看| 日本久久二区| 91精品电影| 精品久久不卡| 日韩三级精品| 婷婷激情综合| 精品一区二区三区免费看 | 大香伊人久久精品一区二区| 日韩精品一级二级| 日韩中文影院| 国产精品美女久久久久久不卡| 99在线|亚洲一区二区| 国产精品最新| 亚洲毛片一区| 99亚洲视频| 成人在线视频免费| 欧美亚洲tv| 天堂va蜜桃一区二区三区| 日韩亚洲一区在线| 国产精品永久| 天海翼亚洲一区二区三区| 亚洲精品2区| 日韩中文影院| 精品国产精品久久一区免费式 | 国产精品丝袜在线播放| 欧美日韩国产精品一区二区亚洲| 国模大尺度视频一区二区| 18国产精品| 亚洲人成精品久久久| 欧美日韩高清| 99久久精品国产亚洲精品| 国产精品久久久久久久久妇女| 国产日本亚洲| 啪啪亚洲精品| 日韩国产高清在线| 涩涩涩久久久成人精品| 在线视频精品| 蜜桃一区二区三区| 国产99精品| 久久青草久久| 日韩欧美国产精品综合嫩v| 久久精品免视看国产成人| 国产精品欧美三级在线观看| 青草av.久久免费一区| 蜜臀久久久久久久| 国产毛片一区| 欧美特黄一级| 99日韩精品| 中国女人久久久| 西西人体一区二区| 一本一道久久a久久精品蜜桃| 午夜视频精品| 亚洲欧美日韩综合国产aⅴ| 一区二区视频欧美| 国产精品女主播一区二区三区| 99久久亚洲精品| 欧美午夜精彩| 国产精品99一区二区| 免费久久久久久久久| 好看的亚洲午夜视频在线| 欧美日韩国产综合网| 在线亚洲一区| 日本不卡不码高清免费观看 | 六月天综合网| 蜜臀国产一区二区三区在线播放| 丝袜国产日韩另类美女| 亚洲欧美专区| 欧美亚洲一区二区三区| 久久精品99久久久| 国产亚洲精aa在线看| 国产精品亚洲欧美日韩一区在线| 国产精品jk白丝蜜臀av小说| 日韩av自拍| 欧美日韩中文一区二区| 亚洲免费精品| 日韩精品视频在线看| 国产欧美91| 91av亚洲| 国产亚洲在线| 88久久精品| 伊人久久国产| 亚洲少妇诱惑| 国产日产一区| 亚洲va中文在线播放免费| 999国产精品| 亚洲婷婷丁香| 久久精品国产99| 久久精品99久久无色码中文字幕| 玖玖玖国产精品| 国产伦精品一区二区三区千人斩| 电影91久久久| 噜噜噜躁狠狠躁狠狠精品视频| 91成人在线| 精精国产xxxx视频在线播放| 99国产一区| 国产精区一区二区| 久久久久网站| 亚洲精品日本| 成人一区不卡| 国内精品福利| 日本在线视频一区二区| 国产福利91精品一区二区| 好吊视频一区二区三区四区| 日韩av网站在线观看| 91欧美在线| 免费不卡在线视频| 国产在线不卡一区二区三区| 影音国产精品| 欧美精品97| 极品日韩av| 国产精品一页| 黄色亚洲大片免费在线观看| 国产免费av一区二区三区| 色婷婷久久久| 日韩av一区二区在线影视| 中文另类视频| 日韩av黄色在线| 欧美性感美女一区二区 | av中文资源在线资源免费观看| 国产亚洲午夜| 国产+成+人+亚洲欧洲在线| 日韩精品一二三四| 伊人久久国产| 国产精品主播| 性色一区二区| 欧产日产国产精品视频| 日本色综合中文字幕| 亚洲午夜av|