Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/179.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
Android 如何设置报警时间?_Android - Fatal编程技术网

Android 如何设置报警时间?

Android 如何设置报警时间?,android,Android,这段代码运行良好,但我想安排时间。我从web服务“特定时间”中获得了一个值。我必须在数组中为警报集消磨时间。但它不工作。只经过一次表示它工作正常。请给我解决方案。我想将它的数组值传递给alarm manager private void setAlarm(Calendar calSet) { int hours = calSet.get(Calendar.HOUR); int mnts = calSet.get(Calendar.MINUTE);

这段代码运行良好,但我想安排时间。我从web服务“特定时间”中获得了一个值。我必须在数组中为警报集消磨时间。但它不工作。只经过一次表示它工作正常。请给我解决方案。我想将它的数组值传递给alarm manager

    private void setAlarm(Calendar calSet) {
        int hours = calSet.get(Calendar.HOUR);
        int mnts = calSet.get(Calendar.MINUTE);
        int ampm = calSet.get(Calendar.AM_PM);

        String str = "AM";
        if (ampm == 0) {
            str = "AM";
        } else {
            str = "PM";
        }
        int i = 0;


        String time = hours + " : " + mnts + " : " + str;
        AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
        Intent alarmIntent = new Intent(ALARM_ACTION_NAME);
        // Set the Alarm ID as extra data to be displayed in the popup
        alarmIntent.putExtra("AlarmID", m_alarmId);
        alarmIntent.putExtra("AlarmTime", time);

        // Create the corresponding PendingIntent object
        PendingIntent alarmPI = PendingIntent.getBroadcast(MainActivity.this, m_alarmId,
                alarmIntent, 0);

        // Register the alarm with the alarm manager
        alarmManager.set(AlarmManager.RTC_WAKEUP, calSet.getTimeInMillis(),
                alarmPI);

    }
AlarmServiceReceiverClass

public class AlarmServiceReceiver extends BroadcastReceiver {
    // The alarm action defined in AndroidManifest.xml
    private static final String ALARM_ACTION_NAME = "com.goodmor.broadcast.ALARM";

    @Override
    public void onReceive(Context context, Intent intent) {
        // Toast.makeText(context , "Alarm received!",
        // Toast.LENGTH_LONG).show();
        // Handle the alarm broadcast
        Log.i(this.toString(), "111111111111");
        if (ALARM_ACTION_NAME.equals(intent.getAction())) {
            // Launch the alarm popup dialog
            Intent alarmIntent = new Intent("android.intent.action.MAIN");
            alarmIntent.setClass(context, AndroidAlarmService.class);
            alarmIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            // Pass on the alarm ID as extra data
            alarmIntent.putExtra("AlarmID", intent.getIntExtra("AlarmID", -1));
            alarmIntent.putExtra("AlarmTime",
                    intent.getStringExtra("AlarmTime"));
            // Start the popup activity
            context.startActivity(alarmIntent);
        }

    }
}

如果要添加另一个报警,请更改m_alarmId;如果不更改m_alarmId,则会将以前的报警替换为新报警,以前的报警不会调用

  PendingIntent alarmPI = PendingIntent.getBroadcast(MainActivity.this, **m_alarmId**,
            alarmIntent, 0);
在这里,您将报警id传递给AlarmReceiver类,对吗?然后在AlarmReceiver类中传递此报警id,如果无法获取,请发布您的AlarmReceiver类

这里您将m_alarmId传递给AlarmReceiver类

  alarmIntent.putExtra("AlarmID", m_alarmId);

m_alarmId值设置为零。当我被点击时,我是增量值++karthick。是的,它是否工作??你现在可以发布你的设置报警方法了吗?k但上面我提到了设置报警代码。请查看karthickno-karthik。如果我是静态值,但即使它不是工作字符串items=“0:18:PM”;请参见上面的代码,我提到了AlarmServiceReceiveClass
  alarmIntent.putExtra("AlarmID", m_alarmId);