Android涓璦larmmanager瀹氭椂浠诲姟鎬庝箞瀹炵幇
鍦ˋndroid涓紝鍙互浣跨敤AlarmManager绫绘潵瀹炵幇瀹氭椂浠诲姟銆備笅闈㈡槸涓€涓熀鏈殑姝ラ锛?/span>
1. 鍒涘缓涓€涓狿endingIntent瀵硅薄锛岀敤浜庢弿杩拌鎵ц鐨勬搷浣溿€?/span>
2. 鑾峰彇AlarmManager瀹炰緥銆?/span>
3. 浣跨敤set()鏂规硶璁剧疆瀹氭椂浠诲姟鐨勭被鍨嬪拰瑙﹀彂鏃堕棿銆?/span>
4. 浣跨敤setRepeating()鏂规硶璁剧疆閲嶅鍛ㄦ湡鎬т换鍔★紙鍙€夛級銆?/span>
5. 娉ㄥ唽骞挎挱鎺ユ敹鍣ㄦ潵鎺ユ敹瀹氭椂浠诲姟鐨勮Е鍙戜簨浠躲€?/span>
6. 鍦ㄥ箍鎾帴鏀跺櫒涓鐞嗗畾鏃朵换鍔¤Е鍙戝悗鐨勯€昏緫銆?/span>
浠ヤ笅鏄竴涓ず渚嬩唬鐮侊紝婕旂ず濡備綍浣跨敤AlarmManager瀹炵幇瀹氭椂浠诲姟锛?/span>
// 鍒涘缓涓€涓狪ntent锛岀敤浜庤Е鍙戝畾鏃朵换鍔℃椂鍚姩BroadcastReceiverIntent intent = new Intent(context, MyBroadcastReceiver.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 0, intent, 0);
// 鑾峰彇AlarmManager瀹炰緥
AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
// 璁剧疆瀹氭椂浠诲姟瑙﹀彂鏃堕棿锛堣繖閲岃缃负10绉掑悗瑙﹀彂锛?/p>
long triggerTime = System.currentTimeMillis() + 10000;
alarmManager.set(AlarmManager.RTC_WAKEUP, triggerTime, pendingIntent);
// 濡傛灉闇€瑕佽缃噸澶嶄换鍔★紝鍙互浣跨敤setRepeating()鏂规硶
// long interval = 60000; // 闂撮殧鏃堕棿涓?鍒嗛挓
// alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, triggerTime, interval, pendingIntent);
鐒跺悗锛屽垱寤轰竴涓狟roadcastReceiver鏉ュ鐞嗗畾鏃朵换鍔¤Е鍙戝悗鐨勯€昏緫锛?/span>
public class MyBroadcastReceiver extends BroadcastReceiver {@Override
public void onReceive(Context context, Intent intent) {
// 鍦ㄨ繖閲屽鐞嗗畾鏃朵换鍔¤Е鍙戝悗鐨勯€昏緫
Toast.makeText(context, "瀹氭椂浠诲姟宸茶Е鍙?quot;, Toast.LENGTH_SHORT).show();
}
}
璁板緱鍦ˋndroidManifest.xml涓敞鍐岃BroadcastReceiver锛?/span>
<receiver android:name=".MyBroadcastReceiver" />
杩欐牱锛屽湪鎸囧畾鏃堕棿鎴栧懆鏈熸€у湴瑙﹀彂瀹氭椂浠诲姟鏃讹紝MyBroadcastReceiver灏变細鎺ユ敹鍒板箍鎾紝骞舵墽琛岀浉搴旂殑閫昏緫銆?/span>
相关问答