android:Alarmmannager强制停止应用程序

时间:2016-02-09 08:49:37

标签: java android eclipse alarmmanager

我使用alarmmanager类来安排用户在某个时间每天午餐的通知但是当时间到来时强制停止应用程序 这是我调用主活动的创建的setAlarm()方法

    public void setAlarm() {
    // TODO Auto-generated method stub
    AlarmManager alarmMgr;
    PendingIntent alarmIntent;

    alarmMgr = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
    Intent intent = new Intent(this, AlarmReceiver.class);
    alarmIntent = PendingIntent.getBroadcast(this, 0, intent, 0);

    // Set the alarm to start at approximately 8:00 p.m.
    Calendar calendar = Calendar.getInstance();
    calendar.setTimeInMillis(System.currentTimeMillis());
    calendar.set(Calendar.HOUR_OF_DAY, 10);
    calendar.set(Calendar.MINUTE, 17);
    // With setInexactRepeating(), you have to use one of the AlarmManager
    // interval
    // constants--in this case, AlarmManager.INTERVAL_DAY.
    alarmMgr.setInexactRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), AlarmManager.INTERVAL_DAY,
            alarmIntent);
}

那就是BroadcastReceiver Class

public class AlarmReceiver extends BroadcastReceiver {

@Override
public void onReceive(Context context, Intent arg1) {
    creatNotification(context, "Times Up", "5 Seconds Passed", "Alert");
}

private void creatNotification(Context context, String MSG, String MSgText, String MSGAlert) {
    PendingIntent NotifIntent = PendingIntent.getActivity(context, 0, new Intent(context, MainActivity.class), 0);
    NotificationCompat.Builder notifBuilder = new NotificationCompat.Builder(context);
    notifBuilder.setContentTitle("title").setContentText("Content")
            .setTicker("Ticker").setSmallIcon(R.drawable.ic_launcher);
    notifBuilder.setContentIntent(NotifIntent);
    notifBuilder.setDefaults(NotificationCompat.DEFAULT_SOUND);
    notifBuilder.setAutoCancel(true);
    NotificationManager notificationManager = (NotificationManager) context
            .getSystemService(Context.NOTIFICATION_SERVICE);
    notificationManager.notify(1, notifBuilder.build());
}

任何想法??

1 个答案:

答案 0 :(得分:0)

您是否在Manifest文件中定义了广播接收器?