im making and APP about the Network information etc. I got a problem when i want to use TelephonyManager in different class then my MainActivity class. When i have a simple code in one class then everything is working OK, but the problem is when i want to make another class. Program then is compiling without any problem, but the APP is crashing.
Working code in one class:
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);
}
When i try to split this to two different classes, MainActivity.java and Cell.java the APP is crashing.
Main Activity:
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);
}
}
Before adding line: Context context, the program didn't compile.