如何在Android上立即启动警报

时间:2011-10-03 15:44:06

标签: android

我正在尝试编写一个代码,以便在发生某些事情时激活警报。我已经考虑过使用默认闹钟并在我考虑它时将其解锁,但首先:我不知道如何触发警报或处理警报。第二:我不知道是否有一种最简单的方法来发出立即发出的警报并告诉用户一条消息。

例如:

if(true)    使用消息发出声音警报以通知用户 其他    其他一些代码

感谢您的帮助。

2 个答案:

答案 0 :(得分:3)

AlarmManager:

public void startAlert() {
Intent intent = new Intent(this, MyBroadcastReceiver.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(
        this.getApplicationContext(), 234324243, intent, 0);
AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
alarmManager.set(AlarmManager.RTC_WAKEUP, System.currentTimeMillis()
        + (i * 1000), pendingIntent);
Toast.makeText(this, "Alarm set in " + i + " seconds",
        Toast.LENGTH_LONG).show();
}

广播接收器:

    public class MyBroadcastReceiver extends BroadcastReceiver {
    @Override
  public void onReceive(Context context, Intent intent) {
  Toast.makeText(context, "Don't panik but your time is up!!!!.",
        Toast.LENGTH_LONG).show();
// Vibrate the mobile phone
  Vibrator vibrator = (Vibrator)    

        context.getSystemService(Context.VIBRATOR_SERVICE);
vibrator.vibrate(2000);
}


 }

答案 1 :(得分:1)

如果您的代码正在执行,并且您只是想向用户提供他做错了什么的视听信号,那么只需播放声音并显示Toast。

对于短信:http://developer.android.com/guide/topics/ui/notifiers/toasts.html

Toast toast = Toast.makeText(context, myMessage, Toast.LENGTH_LONG).show();

声音:http://developer.android.com/guide/topics/media/index.html

如果您想要通知,请查看:http://developer.android.com/reference/android/app/NotificationManager.html

您可以在此处传递通知对象:

Notification.Builder builder = new Notification.Builder(context);
builder.setSound(Uri.fromFile(yourFile));
builder.setTicker(yourMessage);
NotificationManager.notify(1,builder.getNotification());