在一个类中,我从另一个.java文件中的另一个类调用函数。
这是功能
public void make_a_call(String phonenumber) {
Intent phone_call = new Intent(android.content.Intent.ACTION_CALL, Uri.parse("tel:"+phonenumber));
startActivity(phone_call);
}
问题在于该函数由于startActivity要求它是非静态的,但是当我从另一个类调用此函数时,它表示要调用此函数,它必须是静态的。
我怎样才能解决这个问题?
谢谢。
最佳答案
另一个类需要对将用于启动活动的上下文的引用。一种解决方案是将对活动的引用(包含make_a_call
的引用)传递给另一类中的代码。另一种可能性(例如,如果另一个类是自定义视图),则它可以使用getContext()
获取上下文,然后将make_a_call
修改为static
,但可以接受上下文作为参数:
public static void make_a_call(Context context, String phonenumber) {
Intent phone_call = new Intent(android.content.Intent.ACTION_CALL, Uri.parse("tel:"+phonenumber));
context.startActivity(phone_call);
}