本文整理匯總了Java中android.app.AlarmManager.setWindow方法的典型用法代碼示例。如果您正苦於以下問題:Java AlarmManager.setWindow方法的具體用法?Java AlarmManager.setWindow怎麽用?Java AlarmManager.setWindow使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類android.app.AlarmManager
的用法示例。
在下文中一共展示了AlarmManager.setWindow方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: addAlarm
import android.app.AlarmManager; //導入方法依賴的package包/類
private void addAlarm(Context context, GregorianCalendar date) {
int notificationId = new TimelessDate(date).hashCode();
Log.d("ALARM", "Scheduling alarm " + notificationId);
PendingIntent p = PendingIntent.getBroadcast(
context,
notificationId,
new Intent(context, AlarmReceiver.class),
PendingIntent.FLAG_UPDATE_CURRENT);
try {
AlarmManager manager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
if (manager != null) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
manager.setAlarmClock(new AlarmManager.AlarmClockInfo(date.getTimeInMillis(), p), p);
} else {
manager.setWindow(AlarmManager.RTC_WAKEUP,
date.getTimeInMillis(),
1,
p);
}
serializeAlarm(context, notificationId);
}
} catch (SecurityException e) {
StringWriter sw = new StringWriter();
PrintWriter pw = new PrintWriter(sw);
e.printStackTrace(pw);
String errMSG = e.getMessage() + "\n" + sw.toString();
e.printStackTrace();
Activity act = ActivityHelper.getActivity();
if (act != null) {
ErrorDialog.newInstance("ERROR", "Failed to schedule alarm. Did some alarms crash?", errMSG)
.show(act.getFragmentManager(), "ALSECERROR");
}
}
Log.d("ALARM", "Alarm ready for "
+ " " + DateUtilities.GERMAN_STD_STIMEFORMAT.format(date.getTime())
+ DateUtilities.GERMAN_STD_SDATEFORMAT.format(date.getTime()));
}
示例2: setAlarmTime
import android.app.AlarmManager; //導入方法依賴的package包/類
public static void setAlarmTime(Context context, long timeInMillis, Intent intent) {
AlarmManager am = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
PendingIntent sender = PendingIntent.getBroadcast(context, intent.getIntExtra("id", 0),
intent, PendingIntent.FLAG_CANCEL_CURRENT);
int interval = (int) intent.getLongExtra("intervalMillis", 0);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
am.setWindow(AlarmManager.RTC_WAKEUP, timeInMillis, interval, sender);
}
}
示例3: setAlarm
import android.app.AlarmManager; //導入方法依賴的package包/類
/**
* @param flag 周期性時間間隔的標誌,flag = 0 表示一次性的鬧鍾, flag = 1 表示每天提醒的鬧鍾(1天的時間間隔),flag = 2
* 表示按周每周提醒的鬧鍾(一周的周期性時間間隔)
* @param hour 時
* @param minute 分
* @param id 鬧鍾的id
* @param week week=0表示一次性鬧鍾或者按天的周期性鬧鍾,非0 的情況下是幾就代表以周為周期性的周幾的鬧鍾
* @param eventName 鬧鍾提示事件名字
* @param eventDetail 鬧鍾提示事件詳情
* @param soundOrVibrator 2表示聲音和震動都執行,1表示隻有鈴聲提醒,0表示隻有震動提醒
*/
public static void setAlarm(Context context, int flag, int hour, int minute, int id, int
week, String eventName, String eventDetail, Date eventDate, int soundOrVibrator) {
AlarmManager am = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
Calendar calendar = Calendar.getInstance();
long intervalMillis = 0;
calendar.set(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get
(Calendar.DAY_OF_MONTH), hour, minute, 10);
if (flag == 0) {
intervalMillis = 0;
} else if (flag == 1) {
intervalMillis = 24 * 3600 * 1000;
} else if (flag == 2) {
intervalMillis = 24 * 3600 * 1000 * 7;
}
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
String dateString = formatter.format(eventDate);
Log.i(TAG, "setAlarm: eventDate"+dateString);
//發送廣播
Intent intent = new Intent(ALARM_ACTION);
intent.putExtra("intervalMillis", intervalMillis);
intent.putExtra("eventName", eventName);
intent.putExtra("eventDetail", eventDetail);
intent.putExtra("id", id);
intent.putExtra("eventDate", dateString);
intent.putExtra("soundOrVibrator", soundOrVibrator);
PendingIntent sender = PendingIntent.getBroadcast(context, id, intent, PendingIntent
.FLAG_CANCEL_CURRENT);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
am.setWindow(AlarmManager.RTC_WAKEUP, calMethod(week, calendar.getTimeInMillis()),
intervalMillis, sender);
} else {
if (flag == 0) {
am.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), sender);
} else {
am.setRepeating(AlarmManager.RTC_WAKEUP, calMethod(week, calendar.getTimeInMillis
()), intervalMillis, sender);
}
}
}