如何使用隐式意图来找出是否从活动中设置系统警报



我正在尝试使用此代码制作一个简单的警报应用

Calendar c = Calendar.getInstance();
int hour = c.get(Calendar.HOUR_OF_DAY);
int minute = c.get(Calendar.MINUTE);
Intent i = new Intent(AlarmClock.ACTION_SET_ALARM);
i.putExtra(AlarmClock.EXTRA_HOUR, hour);
i.putExtra(AlarmClock.EXTRA_MINUTES, minute);
startActivity(i);

现在,此代码在打开我的Android自己的警报时可以完美地工作,然后您将其设置

现在问题是我如何确定是否设置了警报

例如,当我点击按钮1时,它运行上述代码,但是我如何确定是否实际设置了警报

案例1:警报是打开的,您会向后按,然后返回活动而无需设置警报

case2:警报打开,您只需按(取消(而不设置警报

案例3:警报打开,您设置了警报,然后返回活动

因此,我主要知道是否设置了警报,而不是

,如果可能的话,我知道是否删除了警报,如果不只是忘记

编辑

感谢您的答案,下面给出的答案很好,但我在问什么之前,我该怎么做才能确定稍后是否删除了警报,例如,我从应用程序和关闭应用程序设置警报,而不是在虽然明天打开警报应用程序,我希望用户知道删除警报是否像删除警报或没有警报集

的文字一样

或简单地设置警报,除非您从应用程序

将其删除,否则无法将其删除。

您可以使用启动活动为结果策略打开意图。

public static final int PICK_CONTACT_REQUEST=101;
startActivityForResult(pickContactIntent, PICK_CONTACT_REQUEST);
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    // Check which request we're responding to
    if (requestCode == PICK_CONTACT_REQUEST) {
        // Make sure the request was successful
        if (resultCode == Activity.RESULT_OK) {
            // The user has set the alarm.
        }
        if (resultCode == Activity.RESULT_CANCELED) {
            //Write your code if there's no result
        }
    }
}

最新更新