Android 我想在预定的时间开始我的活动。例如3o';时钟
代码有什么问题? 我把时间改成了测试。 请提供详细的结果Android 我想在预定的时间开始我的活动。例如3o';时钟,android,Android,代码有什么问题? 我把时间改成了测试。 请提供详细的结果 AlarmManager am = (AlarmManager) getBaseContext().getSystemService(Context.ALARM_SEDate futureDate = new Date(new Date().getTime() + 86400000); futureDate.setHours(7); futureDate.setMinutes(45); futureDate.set
AlarmManager am = (AlarmManager) getBaseContext().getSystemService(Context.ALARM_SEDate futureDate = new Date(new Date().getTime() + 86400000);
futureDate.setHours(7);
futureDate.setMinutes(45);
futureDate.setSeconds(0);
Intent intent = new Intent(getBaseContext(), MyBroadcastReceiver.class);
PendingIntent sender = PendingIntent.getBroadcast(getBaseContext(), 0,intent,
PendingIntent.FLAG_UPDATE_CURRENT);
这是我的广播接收器
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
public class MyBroadcastReceiver extends BroadcastReceiver {
//MediaPlayer mp;
@Override
public void onReceive(Context context, Intent intent) {
//mp=MediaPlayer.create(context, R.raw.alrm );
//mp.start();
//Toast.makeText(context, "Alarm....", Toast.LENGTH_LONG).show();
Intent scheduledIntent = new Intent(context, HorrorRes.class);
scheduledIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(scheduledIntent);
}
}
对于你的目标,我有很多智慧。我最近发布了一个闹钟应用程序,它只能通过NFC(点击付费)技术禁用 以下是您今后需要做的几件事:
- 使用getSystemService(Context.ALARM\u服务)
- 日历很特别。使用Calendar.add()或.set(),Calendar类将适当地更改其许多内部变量。使用Calendar.getTime()将重新计算Calendar的所有内部字段,然后返回日期对象
Calendar calendar = Calendar.getInstance(); calendar.setTimeInMillis(System.currentTimeMillis()); calendar.add(Calendar.SECOND, 4); Date date = calendar.getTime(); Log.d("WakefulReceiver", date.toString()); mAlarmManager.setExact(AlarmManager.RTC_WAKEUP, date.getTime(), mIntent);
- 你的意图很好
- 将您的BroadcastReceiver转换为WakefulBroadcastReceiver,这个类处理您的wakelock并为您完成繁重的工作。我们真的希望Android中的BroadcastReceiver接收()。在receive中,您可以启动IntentService
- IntentService将是处理设计中应发生的多种事情的类。您的IntentService应该:(A)启动一个单独的服务来运行异步前台媒体播放器。(B) 开始你的活动
- WakefulBroadcastReceiver=/app/WakefulReceiver.java
- IntentService=/app/RingingService.java
- MediaPlayer(作为前台异步服务)=/app/AlarmService.java
请给我留言,让我了解更多信息您在哪里设置闹钟?也就是说,您在哪里调用
am.set()
,或者类似的方法?为什么要执行new Date().getTime()+86400000,它将获取当前时间,然后添加该时段。。然后在此之后设置日历时间参数。。你应该先设置数据。。然后设置它Minent和nAlarmManagerI的意思是什么?我对代码有很多问题,我如何与您联系?我是StackOverflow的新手