如何在类中使用getBaseContext()而不是扩展Activity

时间:2013-12-20 17:22:42

标签: android module titanium

我正在创建一个从另一个类扩展的模块,但我需要使用getBaseContext()。我怎样才能在自己的模块中使用它? 如果我必须运行活动,那么如果不是如何解决问题该怎么做 感谢

public class TelcoModule extends KrollModule
{
...

        // Methods
    @Kroll.method
    public String GetTelco()
    {
           TelephonyManager tm =(TelephonyManager)getBaseContext().getSystemService(Context.TELEPHONY_SERVICE);
           String operatorName = tm.getNetworkOperatorName();
           return operatorName ;
          }
}

2 个答案:

答案 0 :(得分:3)

更改GetTelco以包含上下文参数。然后从任何地方使用您的可用上下文来调用它

public String GetTelco(final Context context)
{
       TelephonyManager tm =(TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
       String operatorName = tm.getNetworkOperatorName();
}

调用它的示例:

someView.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        String telcoName = myTelcoInstance.GetTelco(v.getContext())
    }
});

答案 1 :(得分:1)

怎么样......

Context ctx = getActivity().getApplicationContext();