我正在尝试在 Android 中创建一个事件,当到达 scedules 事件的时间时,我想显示一个警报框,振铃并振动手机。有人可以帮忙吗?谢谢
2 回答
您将需要使用 AlarmManager 设置警报。然后你需要一个 BroadcastReceiver 在时间到时执行你的任务。要响铃,您需要使用 MediaPlayer 使用您喜欢的声音(通知/铃声/警报)的 URI,并振动您将使用 Vibrator 服务:Vibrator v = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
既然您有了大致的想法,我建议您阅读一些示例和 Android 网站以了解更多详细信息...
来自 Handler 类文档
调度消息是通过 post(Runnable)、postAtTime(Runnable, long)、postDelayed(Runnable, long)、sendEmptyMessage(int)、sendMessage(Message)、sendMessageAtTime(Message, long) 和 sendMessageDelayed(Message, long) 方法完成的. post 版本允许您将 Runnable 对象排入队列,以便在收到消息队列时调用它们;sendMessage 版本允许您将包含一组数据的 Message 对象排入队列,这些数据将由 Handler 的 handleMessage(Message) 方法处理(要求您实现 Handler 的子类)。
更多信息可以在这里找到。在您的情况下,您似乎需要postAtTime
or postDelayed
。代码看起来像
new Handler().postDelayed(new Runnable() {
public void run() {
//show alert, vibrate and ring..
}
}, 10000);//execute this Runnable in 10 sec