如何将活动从另一个类调用到非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。
答案 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();