80,351
社区成员
发帖
与我相关
我的任务
分享
OnClickListener onclick = new OnClickListener() {
@Override
public void onClick(View v) {
long now = System.currentTimeMillis();
PendingIntent pi = null;
pi = PendingIntent.getBroadcast(AlarmTestActivity.this, 0, new Intent(AlarmTestActivity.this, ActionBroadCast.class), Intent.FLAG_ACTIVITY_NEW_TASK);
am.setRepeating(AlarmManager.RTC_WAKEUP, now,10*1000, pi);
}
};[/code
在boradcase中进行条件判断当minute==15之后,重新设置alarm每隔15分钟响应一次,
[code=java]public class ActionBroadCast extends BroadcastReceiver {
private static int num = 0;
private Context context;
private AsyncTaskMusic atm;
@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
Log.e("ActionBroadCast", "New Message !" + num++);
Calendar cl = Calendar.getInstance();
cl.setTimeInMillis(System.currentTimeMillis());
if(cl.get(Calendar.MINUTE) == 16){
Log.i("时间到了","时间到了");
AlarmManager am = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 0,intent, PendingIntent.FLAG_CANCEL_CURRENT);
am.setRepeating(AlarmManager.RTC, cl.getTimeInMillis() ,AlarmManager.INTERVAL_FIFTEEN_MINUTES, pendingIntent);
}
}
}