java - 在通话期间停止重复闹钟

标签 java android eclipse alarmmanager

我的应用程序有一个带有数字选择器的重复闹钟,因此如果我选择每一分钟重复一次,声音就会每隔一分钟响起,但如果用户接到电话,闹钟不会停止。我怎么解决这个问题?我应该在接收器 Activity 中实现什么才能让它检测到电话?

接收者:

    import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.media.MediaPlayer;


public class MainReceiver extends BroadcastReceiver {



         @Override
        public void onReceive(Context context, Intent intent) {

             MediaPlayer m=MediaPlayer.create(context, R.raw.sound2);
             m.start();

        }

    }

最佳答案

刚刚更新了我上面的答案:根据AlarmManager.setRepeating(int类型,长triggerAtMillis,长intervalMillis,PendingIntent操作)的Android文档,它将继续出现,直到使用cancel(PendingIntent)显式删除为止。如果您正在使用此 API,那么您必须在调用时取消它,或者在接收器中添加调用条件,然后返回而不执行任何操作。

关于java - 在通话期间停止重复闹钟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32085323/

相关文章:

java - 解析生命周期处理指令时出错

java - Java 中计算大 n 和 k 值模 10^9 + 7 的二项式系数的乘法公式输出错误值

android - XML 中的自定义按钮

Android 和 Azure 移动服务 : Using invokeAPI to return recordset

android - MediaMetadataRetriever .getFrameAtTime(长,选项)崩溃

java - 具有多个变量的 Thymeleaf URL

java - 从 gradle 发布到 nexus 时出现身份验证错误

android - 我的 Android 应用程序中的日期时间错误

java - 删除 Eclipse 编译器出现的 "else" token

缺少 Android Studio 导入模块按钮