Good day) I am writing an application that will change the volume at a specified time. There is a TimePickerDialog, the selected values of which are entered into variables. And there is also the selected volume, which is recorded in the desired variable. Made AlarmManager, which for some reason does not work at all, even if you do not specify the necessary variables. I'm a kettle! Help! What am I doing wrong? First grade
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // finals final TextView editTime = (TextView) findViewById(R.id.editTime); final TextView editVolume = (TextView) findViewById(R.id.editVolume); final Button button = (Button) findViewById(R.id.button); final TextView test = (TextView) findViewById(R.id.test); // Users clicks // set Time editTime.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Calendar mcurrentTime = Calendar.getInstance(); int hour = mcurrentTime.get(Calendar.HOUR_OF_DAY); int minute = mcurrentTime.get(Calendar.MINUTE); timepickerdialog = new TimePickerDialog(MainActivity.this, new TimePickerDialog.OnTimeSetListener() { @Override public void onTimeSet(TimePicker timePicker, int selectedHour, int selectedMinute) { String selectedMinute0; if (selectedMinute == 0 || selectedMinute == 1 || selectedMinute == 2 || selectedMinute == 3 || selectedMinute == 4 || selectedMinute == 5 || selectedMinute == 6 || selectedMinute == 7 || selectedMinute == 8 || selectedMinute == 9) { selectedMinute0 = "0"; editTime.setText(selectedHour + ":" + selectedMinute0 + selectedMinute); checktime = true; } else { editTime.setText(selectedHour + ":" + selectedMinute); checktime = true; } time_set_h = selectedHour; time_set_m = selectedMinute; } }, hour, minute, true);//Yes 24 hour time timepickerdialog.show(); } }); // set Volume level editVolume.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { final AlertDialog.Builder volumeSetter = new AlertDialog.Builder(MainActivity.this); volumeSetter.setTitle(R.string.ChangeVolume); volumeBar = new SeekBar(MainActivity.this); volumesetter = (AudioManager) getSystemService(AUDIO_SERVICE); volumeBar.setMax(volumesetter.getStreamMaxVolume(AudioManager.STREAM_RING)); volumeBar.setProgress(volumesetter.getStreamVolume(AudioManager.STREAM_RING)); volumeBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() { @Override public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { volume = progress; } @Override public void onStartTrackingTouch(SeekBar seekBar) { } @Override public void onStopTrackingTouch(SeekBar seekBar) { } }); volumeSetter.setView(volumeBar); volumeSetter.setNeutralButton(R.string.OkeyButton, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { editVolume.setText(getString(R.string.Set) + volume); volume_set = volume; checkvolume = true; dialog.cancel(); } }); volumeSetter.setNegativeButton(R.string.Back_Button, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { dialog.cancel(); } }); volumeSetter.show(); } }); // main button button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { AlertDialog.Builder button_alert = new AlertDialog.Builder(MainActivity.this); if (!checktime) { button_alert.setMessage(R.string.DidnotSetTime); button_alert.setNegativeButton(R.string.Back_Button, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { dialog.cancel(); } }); } else if (!checkvolume) { button_alert.setMessage(R.string.DidnotSetVolumeLevel); button_alert.setNegativeButton(R.string.Back_Button, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { dialog.cancel(); } }); } else { button_alert.setMessage(R.string.CompleteText); button_alert.setPositiveButton(R.string.OkeyButton, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { AM(); dialog.cancel(); } }); button_alert.setNegativeButton(R.string.Back_Button, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { dialog.cancel(); } }); } button_alert.show(); } }); } public void AM() { MyBroadcast al = new MyBroadcast(); Intent intent = new Intent(this, MyBroadcast.class); PendingIntent pi = PendingIntent.getBroadcast(this, 0, intent, 0); al.SetAlarm(this, pi); } and second
AudioManager volumesetter; public void SetAlarm(Context context, PendingIntent pendingIntent) { Calendar c_time = Calendar.getInstance(); c_time.set(Calendar.HOUR_OF_DAY,10); c_time.set(Calendar.MINUTE,0); AlarmManager alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE); alarmManager.setRepeating(AlarmManager.RTC, c_time.getTimeInMillis(), AlarmManager.INTERVAL_DAY,pendingIntent); } @Override public void onReceive(Context context, Intent intent) { volumesetter.getStreamMaxVolume(AudioManager.STREAM_NOTIFICATION); volumesetter.setStreamVolume(AudioManager.STREAM_NOTIFICATION, 3, 3); volumesetter.getStreamMaxVolume(AudioManager.STREAM_SYSTEM); volumesetter.setStreamVolume(AudioManager.STREAM_SYSTEM, 3, 3); volumesetter.getStreamMaxVolume(AudioManager.STREAM_RING); volumesetter.setStreamVolume(AudioManager.STREAM_RING, 3, 3); }