У меня есть 2 классов, которые я хочу, чтобы они взаимодействуют друг с другом:Android: могу ли я поставить глобальные переменные в BroadCastReceiver?
Первый является Receiver.java:
public class Receiver extends BroadcastReceiver{
private int var = 0;
public void onReceive(Context context, Intent intent) {
//Bunch of codes here
method();
//use var to do something}
private void method() {
//do something}
public void setVar(int i) {
var= i; }
}
Тогда у меня есть еще один класс, который я надеюсь использовать, чтобы изменить переменную в Receiver
, MainActivity.java:
public class MainActivity extends AppCompatActivity {
private Receiver receiver;
protected void onCreate(Bundle savedInstanceState) {
receiver.setVar;
//Bunches of other codes
}
Receiver
класс слушать SMS сообщение и ответить, он EXTE nds BroadcastReceiver.
MainActivity
класс изменение установка Receiver
класс.
Поскольку исходный код поместить все переменные внутри OnReceive():
Смогу ли я изменить переменную вар в
Receiver
классе, если я ставлю его вне метода ?Can
MainActivity
доступ и переменная изменения в классеReceiver
?Способ () в пределах
Receiver
класс произведение?
Книга, которую я прочитал: ** Приемники широковещательной передачи существуют только до тех пор, пока работает метод onReceive(). Из-за этого вам нужно написать весь свой код внутри onReceive(). Такие вещи, как переменные экземпляра, не имеют смысла, поскольку они будут выходить из области видимости каждый раз, когда выполняется onReceive(). ** означает ли это, что во время работы оно не рекомендуется выставлять за пределы onReceive()? – user2789240
Okey. Заранее спасибо :) – user2789240