从另一个类调用活动 - Android

时间:2011-08-03 01:42:00

标签: android methods android-activity call

如何将活动从另一个类调用到非Activity类?

我的代码如下(活动类)

public void onCreate(Bundle savedInstanceState){super.onCreateSavedInstanceState);
 this.mp();
    }
public MediaPlayer mp(){//insert method here// }

然后在我的非活动课程中,我打电话

Intent i = new Intent();


    i.setClassName(".......process", ".....ActualRenderingMedia");
    i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    startActivity(i);

但是如果我尝试使用context.startActivity,则会发出错误,要求我创建activity方法。我也不能使用getApplicationContext.startActivity。

1 个答案:

答案 0 :(得分:2)

您的非Activity类是否可实例化?如果是这样,您可以向接受Context对象的类添加构造函数,并从主Activity中实例化它。

例如,在非活动类中:

public class MyClass {
    Context context;
    public MyClass(Context context) {
        this.context = context;
    }
    public void someOtherMethod() {
       Intent i = new Intent(...);
       context.startActivity(i);
    }
}

在您的主要活动中:

MyClass myclass = new MyClass(this);
...
myclass.someOtherMethod();