我正在尝试从这里Android: TelephonyManager class来回答同一问题的答案,但是当我按照建议做的时候,我无法在静态上下文中使用getSystem服务。我如何在非静态上下文中执行此操作
public class MainActivity extends Activity {
@Override
@TargetApi(26)
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TextView text = new TextView(this);
TelephonyManager device = Context.getSystemService(Context.TELEPHONY_SERVICE);
String IMEI = device.getImei();
我认为我能做到
TelephonyManager device = new TelephonyManager(Context.getSystemService(Context.TELEPHONY_SERVICE));
但是没有用,我仍然无法在静态上下文错误中使用getSystemService'。任何帮助将不胜感激。
答案 0 :(得分:1)
如您在关联的问题中所述,隐藏了TelephonyManager
的构造函数。这是因为整个手机共享一个TelephonyManager
(正如人们所期望的那样 - 一次有多个应用程序可以使用手机?)。要检索TelephonyManager
,您需要从您的应用程序Context
请求它。
TelephonyManager device = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);