我想设置某个日期和时间的一次闹铃。而且我还通过使用闹钟管理器来设置。但是我的问题是当设备关闭并打开,然后警报不醒来。设置一次某个日期和时间的闹钟Android
我的代码::
public void setAlarm(String initialTime, String diffTime) throws ParseException {
Calendar cal = Calendar.getInstance(TimeZone.getDefault(), Locale.getDefault());
cal.set(Calendar.DATE,date);
cal.set(Calendar.MONTH,month-1);
cal.set(Calendar.YEAR,year);
cal.set(Calendar.HOUR_OF_DAY, hour);
cal.set(Calendar.MINUTE, minute);
cal.set(Calendar.SECOND, second);
AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
Intent i = new Intent(ChatScreen.this, AlarmNotificationReceiver.class);
i.putExtra("CoId", coId);
i.putExtra("DeptId", deptNo);
i.putExtra("CoName", companyName);
i.putExtra("DpLogo", dpLogo);
i.putExtra("DeptName",deptName);
i.setAction("isFromAlram");
PendingIntent pi = PendingIntent.getBroadcast(ChatScreen.this,0, i, PendingIntent.FLAG_UPDATE_CURRENT);
alarmManager.set(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(),pi);
}
我AlarmReceiverclass :::
public class AlarmNotificationReceiver extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
Log.e("AlarmReceiver",action);
if (action.equals(Intent.ACTION_BOOT_COMPLETED)) {
Toast.makeText(context, "ALARM_BOOT_COMPLETED", Toast.LENGTH_LONG).show();
} else if (action.equals("isFromAlram")) {
Logger.errorLog("From Service", "yes");
}
}
}
,也给在menifest文件的Android权限:NAME = “android.permission.RECEIVE_BOOT_COMPLETED”
接收器
android:name="com.chatapi.ChatApi.MyBroadcastReceiver"
android:enabled="true"
编辑这里接收
android:enabled="true"
android:process=":remote">
+0
为您的'' –
+0
发布整个清单条目将来,请勿在注释中张贴代码。只需编辑您的原始文章并将其添加到那里。评论中的代码难以阅读:-( –