我试过很多次了,但什么也没有。
这是类的代码,它应该设置警报,但在指定的时间和日期没有发生任何事情。
package com.beppe.reminder;
import java.util.Calendar;
import java.util.Date;
import android.app.AlarmManager;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.provider.AlarmClock;
public class ReminderManager {
private Context mCtx;
private AlarmManager alarm;
public ReminderManager(Context Ctx){
mCtx=Ctx;
}
public void setAlarm(Date d, long taskID){
alarm=(AlarmManager) mCtx.getSystemService(Context.ALARM_SERVICE);
Intent intent=new Intent(mCtx, OnAlarm.class);
intent.putExtra(DBAdapter.KEY_ROWID, taskID);
PendingIntent pi=PendingIntent.getBroadcast(mCtx, 0, intent, PendingIntent.FLAG_ONE_SHOT);
Calendar cal = Calendar.getInstance();
cal.setTimeInMillis(System.currentTimeMillis());
cal.clear();
cal.set(d.getYear()+1900,d.getMonth(),d.getDate(),d.getHours(),d.getMinutes());
alarm.set(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), pi);
}
}
AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
//---get current date and time---
Calendar calendar = Calendar.getInstance();
//---sets the time for the alarm to trigger---
calendar.set(Calendar.YEAR, datePicker.getYear());
calendar.set(Calendar.MONTH, datePicker.getMonth());
calendar.set(Calendar.DAY_OF_MONTH, datePicker.getDayOfMonth());
calendar.set(Calendar.HOUR_OF_DAY, timePicker.getCurrentHour());
calendar.set(Calendar.MINUTE, timePicker.getCurrentMinute());
calendar.set(Calendar.SECOND, 0);
//---PendingIntent to launch activity when the alarm triggers---
Intent i = new Intent("net.learn2develop.DisplayNotification");
//---assign an ID of 1---
i.putExtra("NotifID", 1);
PendingIntent displayIntent = PendingIntent.getActivity(
getBaseContext(), 0, i, 0);
//---sets the alarm to trigger---
alarmManager.set(AlarmManager.RTC_WAKEUP,
calendar.getTimeInMillis(), displayIntent);
}
请参阅此链接。http://mobiforge.com/developing/story/displaying-status-bar-notifications-Android
我想取消所有设置的警报。。。。。我已经搜索了很多,尝试了很多东西,但都没有成功。。。当我将闹钟设置为2分钟后,然后取消它时,2分钟后它仍会启动。。。。。任何帮助都将不胜感激。 创建警报的方法: 这是为了取消报警:
我有一个应用程序,在指定的时间设置警报与TimePicker(24小时模式)。 我注意到,如果时间是23:00,而您将报警设置为01:00,AlarmManager会将其解释为已过日期。目前,我设置的警报如下所示: 正如你所看到的,该应用程序计算时差,如果时差为负值,则设置第二天的警报。这就产生了上面描述的bug。如何修复它? 当做 马库斯
我每天上午11点使用显示通知。 当我在应用程序中设置警报时,警报会在短时间后触发。
我遇到了麻烦,而试图设置一个准确的警报,只有时间选择器。我设置了一个带有如下处理程序的时间选择器: 计时器 不幸的是,当这样做时,警报会立即播放。我也试过用am.setalarmclock但是我不知道如何用它来使用RTC时间,你能帮我吗? 我已经读了很多线程,就像我正在尝试设置警报在特定的时间使用警报管理器,但警报立即启动?并从DatePicker和TimePicker中设置AlarmManage
似乎根据实际经过的时间(与设备Hibernate时停止的正常运行时间相反)来对操作进行计时的唯一方法是AlarmManager。 是否有一种简单的方法来实现基于“壁钟”的延迟执行,例如通过一个围绕AlarmManager的开源包装器? 对于正常的计时操作,您可以使用一个处理程序,这就像这样一个简单的任务应该有的那样容易: 实现处理程序回调(无需注册) 实例化处理程序 调用sendEmptyMess
我试图在我的Ubuntu上安装androidSDK,但当我试图在tools/bin/sdkmanager文件夹上运行SDK管理器时,我得到以下消息: 我的Ubuntu是最近安装的,除了Java8和Android Studio之外什么都没有。 我的SDK文件夹是默认的~/android/SDK。