я делаю и приложение о сети информации et c. У меня возникла проблема, когда я хочу использовать TelephonyManager в другом классе, чем мой класс MainActivity. Когда у меня есть простой код в одном классе, тогда все работает хорошо, но проблема в том, когда я хочу создать другой класс. Затем программа без проблем компилируется, но приложение вылетает.
Рабочий код в одном классе:
MainActivity. java
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final TextView textMCC = findViewById(R.id.mcc);
textMCC.setText(getMCC());
}
public String getMCC() {
TelephonyManager telephonyManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
String networkOperator = telephonyManager.getNetworkOperator();
return networkOperator.substring(0, 3);
}
Когда я пытаюсь разделите это на два разных класса, MainActivity. java и Cell. java приложение аварийно завершается.
Основная активность:
public class MainActivity extends AppCompatActivity {
Cell cellex = new Cell();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final TextView textMCC = findViewById(R.id.mcc);
textMCC.setText(cellex.getMCC());
}
}
Cell. java:
public class Cell {
Context context;
TelephonyManager telephonyManager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
public String getMCC() {
// TelephonyManager telephonyManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
String networkOperator = telephonyManager.getNetworkOperator();
return networkOperator.substring(0, 3);
}
}
Перед добавлением строки: Контекстный контекст, программа не скомпилировалась.