我需要在我的Android应用程序中获取LAC和Cid代码。但是,我需要在not-Activity类中进行。我发现的代码是:
TelephonyManager telephonyManager =(TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
GsmCellLocation cellLocation = (GsmCellLocation) telephonyManager.getCellLocation();
int cid = cellLocation.getCid();
int lac = cellLocation.getLac();
但是,方法setSystemService仅存在于Activity类中,我还没有找到要发送的东西"某种活动"上课。 有没有办法这样做,没有活动?
答案 0 :(得分:3)
您可以将context
作为参数传递给班级的constructor
。在constructor
内,您可以初始化TelephonyManager
。
示例:
在课堂上,
public class MyClass {
private TelephonyManager mTelephonyManager;
public MyClass(Context context) {
mTelephonyManager =(TelephonyManager)context.getSystemService(Context.TELEPHONY_SERVICE);
}
}
在活动中,
public class MyActivity extends Activity {
....
//Initializing class
MyClass myClass = new MyClass(this);
..
答案 1 :(得分:0)
您只需传递一个Context
对象即可从中调用getSystemService()
。您还可以使用Activity
对象Activity
扩展Context
。
然后只需致电context.getSystemService()