обрабатывать SMS-сообщения, чтобы вызвать событие в другой деятельности / классе - PullRequest
0 голосов
/ 23 сентября 2011

Итак, я пытаюсь изменить некоторые элементы пользовательского интерфейса, которые раскрываются в моей основной деятельности, - и я хочу, чтобы изменения были вызваны onReceive, который поступил от вещательного приемника, расширенного в другом отдельном классе. *

Я бы хотел сделать что-то подобное

public class SmsReceiver extends BroadcastReceiver {
public void onReceive(context, intent){

MainActivity main = new MainActivity();   //this is my... main activity :)

main.button.setBackgroundColor(Color.green);
}//end onReceive

}//end class

в моей MainActivity я установил значения для элемента кнопки GUI, как это:

public class mainactivity extends activity... implements onclick... bla bla (){
Button button;

onCreate....{
  button = (Button)findViewById(R.id.button);

так что я хотел бы знать, если при активации onReceive я могу отредактировать состояние виджета в ДРУГОМ действии, создав его экземпляр и вызвав для него метод установки?

1 Ответ

0 голосов
/ 23 сентября 2011

Ваш метод не будет работать, потому что вы создаете новый экземпляр MainActivity.Это не будет ссылаться на вашу текущую активную основную деятельность.Одним из решений, которое вы можете попробовать, является отправка другого намерения в вашу деятельность и внедрение onNewIntent (Intent newIntent) в вашу деятельность.Таким образом, вы можете обновить свою основную деятельность в этой функции, попробуйте передать дополнения с новой информацией, которую вы получили.

...