3
  SA=(Button)findViewById(R.id.button1);
  SA.setOnClickListener(new OnClickListener() {

    @SuppressWarnings("deprecation")
    @Override
        public void onClick(View v) {
            showDialog(id);


        }
    });

}
    @Override
    protected Dialog onCreateDialog(int id1) {
    switch (id1) {
    case id:
        // set time picker as current time

        return new TimePickerDialog(this, 
                                     timePickerListener, hour, min,false);
    }
    return null;
}

    private TimePickerDialog.OnTimeSetListener timePickerListener = 
        new TimePickerDialog.OnTimeSetListener() {
    public void onTimeSet(TimePicker view, int selectedHour,
            int selectedMinute) {
        Calendar calnow=Calendar.getInstance();
        calnow.setTimeInMillis(System.currentTimeMillis());
        calnow.set(Calendar.HOUR_OF_DAY,selectedHour);
        calnow.set(Calendar.MINUTE,selectedMinute);
        calnow.set(Calendar.SECOND, 0);
         Intent intent=new Intent(getBaseContext(),alarm.class); 
        PendingIntent pendingintent= PendingIntent.getBroadcast(getBaseContext(),0,       intent, 0);
         AlarmManager alarmManager =     (AlarmManager)getSystemService(Context.ALARM_SERVICE);

          alarmManager.set(AlarmManager.RTC_WAKEUP,  calnow.getTimeInMillis(),pendingintent);
          Toast.makeText(getBaseContext(), "alarm set", Toast.LENGTH_SHORT).show();

    }
};

     公共无效 onReceive(上下文 arg0,意图 arg1){
                 AlarmManager mgr = (AlarmManager)arg0.getSystemService(Context.ALARM_SERVICE);

                    Toast.makeText(arg0,"警报开始.....", Toast.LENGTH_LONG).show();

4

2 回答 2

0

尝试删除此行

calnow.setTimeInMillis(System.currentTimeMillis());

我相信这会导致问题,不能确定。

于 2013-08-01T10:22:52.370 回答
0

尝试这个:

   Calendar cal = Calendar.getInstance();
   cal.set(Calendar.HOUR_OF_DAY, selectedHour);
   cal.set(Calendar.MINUTE, selectedMinute);
   cal.set(Calendar.SECOND, 0);
   ca.set(Calendar.MILLISECOND, 0);
   Intent intent=new Intent(getBaseContext(),alarm.class); 
   PendingIntent pendingintent= PendingIntent.getBroadcast(getBaseContext(),0,        intent, 0);
   AlarmManager alarmManager =     (AlarmManager)getSystemService(Context.ALARM_SERVICE);
   alarmManager.set(AlarmManager.RTC_WAKEUP,  cal.getTimeInMillis(),pendingintent);
   Toast.makeText(getBaseContext(), "alarm set", Toast.LENGTH_SHORT).show();
于 2013-08-01T10:28:51.763 回答