有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何使用闹钟。安卓系统中的动作\解除\警报

下面的代码应该根据报警标签解除报警:

Intent intent = new Intent(AlarmClock.ACTION_DISMISS_ALARM);

    intent.putExtra(AlarmClock.EXTRA_ALARM_SEARCH_MODE, AlarmClock.ALARM_SEARCH_MODE_LABEL);
    //intent.putExtra(AlarmClock.ALARM_SEARCH_MODE_TIME,1);
    //intent.putExtra(AlarmClock.EXTRA_IS_PM, true);
    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    intent.putExtra(AlarmClock.EXTRA_MESSAGE, "Label");
    if(intent.resolveActivity(getPackageManager()) != null){
        startActivity(intent);
    } else {
        Toast.makeText(SetAlarmActivity.this, "There is no app that support this action", Toast.LENGTH_SHORT).show();
    }

不幸的是,它只是打开默认的报警应用程序,甚至没有关闭我需要的报警。如何使其正常工作


共 (1) 个答案

  1. # 1 楼答案

    这段代码正在做它应该做的事情。它打开了你指定的目的——闹钟应用程序

    我假设你通过AlarmManager设置了一个警报,想取消吗?如果是,代码是:

    AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
    Intent myIntent = new Intent(getApplicationContext(), YourBroadcastReceiver.class);
    PendingIntent pendingIntent = PendingIntent.getBroadcast(
                                     getApplicationContext(), REQUEST_CODE, myIntent, 0);
    
    alarmManager.cancel(pendingIntent);
    

    确保请求代码与开始时相同

    如果你真的通过alarm app设置了一个闹钟,并想取消它,我不确定有没有不让用户参与的方法