2013-03-11 6 views
4

У меня есть один класс noraml java, который сказал ReceivedChat.java в конструкторе этого класса, который я хочу назвать активностью Android.Как вызвать класс Activity из класса noraml java в Android

public class ReceivedChat { 
    String message; 
    String from; 
    Context context; 

    ReceivedChat(String message, String from) { 
     this.message = message; 
     this.from = from; 

     Bundle b = new Bundle(); 
     b.putString("message", this.message); 
     b.putString("from", this.from); 
     b.putString("fromChat", "true"); 

     Intent i = new Intent(context.getApplicationContext(), XmppChatActivity.class); 
     i.putExtras(b); 
     context.getApplicationContext().startActivity(i); 
    } 
} 

Мой класс деятельности - XmppChatActivity.

Эта программа не работает. он не вызывает onCreate моего XmppChatActivity класс Любая помощь будет благодарна мне.

+0

Какая ошибка? –

+0

где вы инициализируете 'context'? – Farnabaz

ответ

13

как позвонить классу Activity из обычного класса Java

вам нужно будет пройти текущий контекст активности в ReceivedChat в момент создания объекта от деятельности или любых других компонентов приложений, как:

ReceivedChat(String message, String from,Context context) 
{ 
this.message = message; 
this.from = from; 
this.context=context; //<< initialize Context here 
Intent i = new Intent(context,XmppChatActivity.class); 
//....your code here 
context.startActivity(i); 

} 

и вместо того, чтобы начать другую активность от класса Конструктора создать метод в ReceivedChat и называют его после создания объекта

+0

Конструктор ReceivedChat вызывается из JNI, у меня нет контекста. поэтому я не могу передать контекст. – user2139898

+0

@ user2139898: затем измените свою логику кода, используя класс singleton, например 'Application Class, чтобы получить контекст приложения внутри класса ReceivedChat без последнего контекста Activity to Application. Невозможно запустить Activity –

+0

. В случае класса singelton я не могу назвать его конструктор от JNI.Any помощь будет благодарна. – user2139898

Смежные вопросы