显示来自非活动类的toast消息,该类由服务类

时间:2017-02-27 12:51:13

标签: android service toast

我有一个服务类MyService及其方法MyMethod,其中实例化了B类(非活动)并调用了B类方法。该方法显示一个toast msg

public class MyService extends Service  {

  public void MyMethod() {
 B b=new B();
 b.methodOfB();
}

 Class B
 {
void methodOfB(){
 Toast(.....);
 }
 }

请告诉我如何使这个toast msg工作。

3 个答案:

答案 0 :(得分:0)

您可以将MyService(父类)扩展到其B类(子类),然后您可以轻松地使用Toast。像这样:

public class MyService extends Service  {

  public void MyMethod() {
 B b=new B();
 b.methodOfB();
}

 Class B extends MyService
 {
void methodOfB(){
 Toast.makeText(this, "Your message here...", Toast.LENGTH_SHORT).show();
 }
 }

答案 1 :(得分:0)

将您的活动的上下文发送到非活动,例如

BMethod=new BMethod(MainActivity.this);

答案 2 :(得分:0)

ServiceContext的子类。因此,我们可以将它传递给类B

public class MyService extends Service  {

 public void MyMethod() {
    B b=new B(this);
    b.methodOfB();
}

B类的Context引用为:

 class B
 {
    private Context context;

    public B(Context context){
        this.context = context;
    }

    public void methodOfB(){

        //now create the toast message
        Toast.makeText(this.context, "Hello World!", Toast.LENGTH_LONG).show();
    }
 }