如何在非activity class中获取设备imei号码?
How to get device imei number in non-activity class?
我正在尝试为一些有用的功能制作一个非activity class,例如获取设备 IMEI 号码。
但是当我使用
mngr = (TelephonyManager)myContext(Context.TELEPHONY_SERVICE);
它给我这个错误:
The method myContext(String) is undefined for the type FunctionsForWorking
服务有自己的上下文,您可以使用它,因为您担心在服务中获取 IMEI,请使用以下代码:
public class MyService extends Service {
public MyService() {
}
@Override
public IBinder onBind(Intent intent) {
throw new UnsupportedOperationException("Not yet implemented");
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
Log.v("ranjith","started service");
TelephonyManager c=(TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
String device_id = c.getDeviceId();
return super.onStartCommand(intent, flags, startId);
}
}
关于如何将上下文传递给非Activity class的问题,答案只是将其作为构造函数中的参数传递给另一个class,例如:-
public class myActivityclass extends Activity{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.layout1);
nonActivityclass c=new nonActivityclass(Context context);
-----------------------------
}
中非Activity class:
public class nonActivityclass{
Context context;
public nonActivityclass(Context context)
{
this.context=context
}
//you can use context now
}
我在我的 App.java class -> OnCreate 方法中调用了一个线程,我得到的设备 IMEI 是这样的:
TelephonyManager telephonyManager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
String IMEI = telephonyManager.getDeviceId();
将上下文通过参数传递给您的实现就足够了
我正在尝试为一些有用的功能制作一个非activity class,例如获取设备 IMEI 号码。 但是当我使用
mngr = (TelephonyManager)myContext(Context.TELEPHONY_SERVICE);
它给我这个错误:
The method myContext(String) is undefined for the type FunctionsForWorking
服务有自己的上下文,您可以使用它,因为您担心在服务中获取 IMEI,请使用以下代码:
public class MyService extends Service {
public MyService() {
}
@Override
public IBinder onBind(Intent intent) {
throw new UnsupportedOperationException("Not yet implemented");
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
Log.v("ranjith","started service");
TelephonyManager c=(TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
String device_id = c.getDeviceId();
return super.onStartCommand(intent, flags, startId);
}
}
关于如何将上下文传递给非Activity class的问题,答案只是将其作为构造函数中的参数传递给另一个class,例如:-
public class myActivityclass extends Activity{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.layout1);
nonActivityclass c=new nonActivityclass(Context context);
-----------------------------
}
中非Activity class:
public class nonActivityclass{
Context context;
public nonActivityclass(Context context)
{
this.context=context
}
//you can use context now
}
我在我的 App.java class -> OnCreate 方法中调用了一个线程,我得到的设备 IMEI 是这样的:
TelephonyManager telephonyManager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
String IMEI = telephonyManager.getDeviceId();
将上下文通过参数传递给您的实现就足够了