Я хочу изменить переменную BroadcastReceiver. К сожалению, приложение зависало каждый раз, когда я пытаюсь получить к нему доступ.
Вот пример:
public class MainActivity extends AppCompatActivity {
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
findViewById(R.id.buttonAlarm).setOnClickListener(new View.OnClickListener() {
setAlarm();
});
}
public void setAlarm(){
Calendar calendar = Calendar.getInstance();
calendar.set(datePicker.getYear(),datePicker.getMonth(),datePicker.getDayOfMonth(),timePicker.getCurrentHour(),timePicker.getCurrentMinute(), 0);
am = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
Intent i = new Intent(this, MyAlarm.class);
pi = PendingIntent.getBroadcast(this, 0, i, PendingIntent.FLAG_UPDATE_CURRENT);
am.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), Interval*60000, pi);
}
}
Это класс MyAlarm.java, который расширяет BroadcastReceiver:
public class MyAlarm extends BroadcastReceiver {
int RecordTimeMinutes;
public void onReceive(final Context context, Intent intent) {
new Handler().postDelayed(new Runnable() {
@Override
public void run(){
//do some stuff
}
}, RecordTimeMinutes * 60000);
}
}
Итак, в основном я хочу получить доступ к переменной RecordTimeMinutes класса MyAlarm в классе MainActivity. Это возможно?