警报管理器 android 不工作
alarm manager android not working
无论如何,警报管理器都不起作用。
这是我的主要 activity,它调用函数来设置点击时的警报。
未显示额外代码。
public void setAlarm() {
Log.i("alarm", "Here");
Long alertTimep = new GregorianCalendar().getTimeInMillis() + 5;
Intent intent = new Intent(this, AlertReciever.class);
AlarmManager alarmManager = (AlarmManager)
getSystemService(ALARM_SERVICE);
PendingIntent pi = PendingIntent.getBroadcast(this,1,intent,PendingIntent.FLAG_UPDATE_CURRENT);
alarmManager.set(AlarmManager.RTC_WAKEUP, alertTimep, pi);
}
这是我的 AlertReciever class。
public class AlertReciever extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
showNotification(context);
Log.i("alarm", "Here1");
}
public void showNotification(Context context) {
Log.i("alarm", "Here2");
Uri soundUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
PendingIntent pIntent = PendingIntent.getActivity(context, 0, new Intent(context, NotificationReceiver.class), 0);
NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(context)
.setContentTitle("Hello")
.setContentText("How are You")
.setSmallIcon(R.drawable.ic_menu)
//.setContentIntent(pIntent)
//.addAction(R.drawable.ic_edit, "View", pIntent)
.setSound(soundUri)
//.addAction(0, "Remind", pIntent)
.setAutoCancel(true);
mBuilder.setContentIntent(pIntent);
NotificationManager notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
notificationManager.notify(0, mBuilder.build());
}
}
基本思想是安排在给定日期生成通知,出于测试目的,我目前选择了 5 seconds/milliseconds。
问题是警报接收器 class 没有被调用,应用程序也没有崩溃,所以我无法找出故障所在 is.I 没有收到任何通知。
<receiver android:name="atsystems.cal.AlertReciever" />
我的清单文件中没有,添加后一切正常。
对于查看此代码的任何其他人,您还需要清单文件中的警报权限。
<uses-permission android:name="com.android.alarm.permission.SET_ALARM" />
无论如何,警报管理器都不起作用。
这是我的主要 activity,它调用函数来设置点击时的警报。 未显示额外代码。
public void setAlarm() {
Log.i("alarm", "Here");
Long alertTimep = new GregorianCalendar().getTimeInMillis() + 5;
Intent intent = new Intent(this, AlertReciever.class);
AlarmManager alarmManager = (AlarmManager)
getSystemService(ALARM_SERVICE);
PendingIntent pi = PendingIntent.getBroadcast(this,1,intent,PendingIntent.FLAG_UPDATE_CURRENT);
alarmManager.set(AlarmManager.RTC_WAKEUP, alertTimep, pi);
}
这是我的 AlertReciever class。
public class AlertReciever extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
showNotification(context);
Log.i("alarm", "Here1");
}
public void showNotification(Context context) {
Log.i("alarm", "Here2");
Uri soundUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
PendingIntent pIntent = PendingIntent.getActivity(context, 0, new Intent(context, NotificationReceiver.class), 0);
NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(context)
.setContentTitle("Hello")
.setContentText("How are You")
.setSmallIcon(R.drawable.ic_menu)
//.setContentIntent(pIntent)
//.addAction(R.drawable.ic_edit, "View", pIntent)
.setSound(soundUri)
//.addAction(0, "Remind", pIntent)
.setAutoCancel(true);
mBuilder.setContentIntent(pIntent);
NotificationManager notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
notificationManager.notify(0, mBuilder.build());
}
}
基本思想是安排在给定日期生成通知,出于测试目的,我目前选择了 5 seconds/milliseconds。
问题是警报接收器 class 没有被调用,应用程序也没有崩溃,所以我无法找出故障所在 is.I 没有收到任何通知。
<receiver android:name="atsystems.cal.AlertReciever" />
我的清单文件中没有,添加后一切正常。 对于查看此代码的任何其他人,您还需要清单文件中的警报权限。
<uses-permission android:name="com.android.alarm.permission.SET_ALARM" />