Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/185.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在安卓系统中,如何在没有while循环的情况下持续监控时间_Java_Android - Fatal编程技术网

Java 在安卓系统中,如何在没有while循环的情况下持续监控时间

Java 在安卓系统中,如何在没有while循环的情况下持续监控时间,java,android,Java,Android,我正在开发一个应用程序,可以在早上9:15和10:30播放某些声音, 我已经完成了声音部分的播放,但在监控当前android系统的时间时,我面临着一些问题 这就是我正在做的 我有一个数组,其中9:15AM和10:30AM存储为字符串。 当我使用Java Calendar类获取系统的当前时间时 Calendar cTime = Calendar.getInstance(); public String currentTime() { String hour = cTime

我正在开发一个应用程序,可以在早上9:15和10:30播放某些声音, 我已经完成了声音部分的播放,但在监控当前android系统的时间时,我面临着一些问题

这就是我正在做的

我有一个数组,其中9:15AM和10:30AM存储为字符串。 当我使用Java Calendar类获取系统的当前时间时

Calendar cTime = Calendar.getInstance();

    public String currentTime() {
        String hour = cTime.get(Calendar.HOUR) + "";
        String mins = cTime.get(Calendar.MINUTE) + "";
        return hour+""+mins+"AM";
    }
我用这个代码播放声音

public void playSound() {

    MediaPlayer player = MediaPlayer.create(this, R.raw.s);
    player.start();
    player.setOnCompletionListener(new OnCompletionListener() {

        @Override
        public void onCompletion(MediaPlayer mp) {
            mp.release();
        }
    });
}
问题是,

如果是早上9:15,我运行应用程序,应用程序将播放声音,或者如果是早上10:30,我运行应用程序,应用程序将播放声音,但这不是我想要的, 我想让我的应用程序一直监控时间,当它是上午9:15或10:30时,无论应用程序是否正在运行,声音都应该播放

我尝试了一种方法,将当前时间与10:30AM或9:30AM进行比较,但它挂断了我的手机,这似乎是一个丑陋的想法。
我想不出任何其他方法来监控时间,请给我一些建议。

计划在这些时间点获得控制。

计划在这些时间点获得控制。

我认为您应该尝试这些代码

使用AlarmManager类来计划和执行您想要执行的操作/操作,而不管android应用程序是否正在运行

但在应用这个概念之前,您应该先了解这个类的更多细节,因为它提供了两种类型的alarm Expead Realtime和Real Time Clock

您必须使用广播接收器来接收意图

如果要使用循环,应该使用比java日历类更好的代码

时间t=新时间; t、 塞托诺

或者更多更好的代码,因为现在您将获得您的用户的当前时区,所以您可以开始了

时间t=新的TimeTime.getCurrentTimezone;
塞托诺

我想你应该试试这些Android API代码

使用AlarmManager类来计划和执行您想要执行的操作/操作,而不管android应用程序是否正在运行

但在应用这个概念之前,您应该先了解这个类的更多细节,因为它提供了两种类型的alarm Expead Realtime和Real Time Clock

您必须使用广播接收器来接收意图

如果要使用循环,应该使用比java日历类更好的代码

时间t=新时间; t、 塞托诺

或者更多更好的代码,因为现在您将获得您的用户的当前时区,所以您可以开始了

时间t=新的TimeTime.getCurrentTimezone; 塞托诺