在線客服系統(tǒng)
十三年專注于網(wǎng)站建設與互聯(lián)網(wǎng)應用開發(fā),低調(diào)、有情懷的網(wǎng)絡應用服務商!
南昌百恒科技微信公眾號 掃一掃關(guān)注
tel-icon全國服務熱線:400-680-9298,0791-88117053
掃一掃關(guān)注百恒科技微信公眾號

如何使用PendingIntent 管理定時器?

百恒 2017-04-14 16:07:39 3389
? ? ? ?南昌APP開發(fā)公司的安卓開發(fā)人員都知道,一個PendingIntent只能登記一個定時器。這也是isOn值為false時,setServiceAlarm (Context, boolean)方法的工作原理:首先調(diào)用AlarmManager.cancel(PendingIntent)方法撤銷PendingIntent的定時器,然后撤銷PendingIntent。
? ? ? ?既然撤銷定時器也隨即撤消了PendingIntent,可通過檢查PendingIntent是否存在來確認定時器激活與否。具體代碼實現(xiàn)時, 傳入PendingIntent.FLAG_NO_CREATE 標志給PendingIntent.getService(...)方法即可。該標志表示如果PendingIntent不存在,則返回null,而不是創(chuàng)建它。
? ? ? ?添加一個名為isServiceAlarmOn(Context)的新方法,并傳入PendingIntent.FLAG_NO_CREATE標志,以判斷定時器的啟停狀態(tài),如下代碼所示:
? ? ? ?添加isServiceAlarmOn()方法(PollService.java)
? ? ? ?public class PollService extends IntentService {
? ? ? ?...
? ? ? ?public static void setServiceAlarm(Context context, boolean isOn) {
? ? ? ?...
? ? ? ?}
? ? ? ?public static boolean isServiceAlarmOn(Context context) {
? ? ? ?Intent i = PollService.newIntent(context);
? ? ? ?PendingIntent pi = PendingIntent
? ? ? ?.getService(context, 0, i, PendingIntent.FLAG_NO_CREATE);
? ? ? ?return pi != null;
? ? ? ?}
? ? ? ?...
? ? ? ?}
? ? ? ?這里的PendingIntent僅用于設置定時器,因此PendingIntent空值表示定時器還未設置。
? ? ? ?以上就是百恒網(wǎng)絡今天所要講的使用PendingIntent 管理定時器的方法,在南昌APP開發(fā)中,還會有更多的方法或碰到一些難題,百恒網(wǎng)絡擁有專業(yè)的安卓開發(fā)大師,具備五年以上的開發(fā)經(jīng)驗,精通安卓、蘋果雙端,不管哪種難題都能為您輕松解決,如有需要APP開發(fā)服務的朋友,隨時歡迎咨詢百恒網(wǎng)絡,我們專業(yè)為您定制開發(fā)!
400-680-9298,0791-88117053
掃一掃關(guān)注百恒網(wǎng)絡微信公眾號

歡迎您的光顧,我們將竭誠為您服務×

售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售后服務 售后服務
 
備案專線 備案專線
 
售后服務 售后服務
 
×