Как мне начать активность? - PullRequest
0 голосов
/ 14 июля 2011

Предположим, у меня есть приложение для Android, которое запускает браузер с указанным URL-адресом, когда он получает сообщение, содержащее определенные данные (некоторый код или что-то в этом роде)

Чтобы это работало, мой класс наследует класс broadcastReceiver (для получения сообщений). Теперь, как только он получает сообщение, ему нужно запустить другую активность, то есть браузер, и для этого тот же класс должен также наследовать класс Activity. Но это невозможно, класс не может наследовать 2 других класса.

Моя проблема выглядит примерно так:

import android.content.broadCastReceiver;
import android.app.Activity;

public class sms extends broadCastReceiver{

 onReceive(){

  ....
  ....
  here it needs to launch another activity

  }
}

Кто-нибудь может подсказать, как я могу это реализовать ...? Я попытался создать экземпляр подкласса Activity внутри и вызвал метод startActivity, но он не работал

Ответы [ 2 ]

3 голосов
/ 15 июля 2011

Метод запуска действия: aContext.startActivity(new Intent(aContext, MyNewActivity.class)); Убедитесь, что вы поместили правильные объявления в манифест.

Смотрите здесь.

Для пояснения,Вы можете начать деятельность, используя контекст.Так что просто держите краткую ссылку на один из них, и все будет в порядке.

РЕДАКТИРОВАТЬ:

Вам необходимо иметь ссылку на используемый контекст, чтобы даже создать действие.Затем вы делаете следующее ( используя переданную ссылку! )

Intent i = new Intent(passedContext, MyNewActivity.class);
i.setFlags(Context.FLAG_ACTIVITY_NEW_TASK);
passedContext.startActivity(i);
0 голосов
/ 16 июля 2011

Здесь я могу запустить новое действие, используя,

Intent i = new Intent(Context, MyNewActivity.class);
i.setFlags(Context.FLAG_ACTIVITY_NEW_TASK);
Context.startActivity(i);

здесь контекст был передан методу onReceive broadCastReceiver в качестве параметра, я могу использовать этот контекст сам. Я не могу использовать метод getBaseContext здесь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...