im décision et APP sur les informations réseau etc. Je suis un problème quand je veux utiliser TelephonyManager dans différentes classes puis ma classe MainActivity. Quand j'ai un code simple dans une classe alors tout fonctionne bien, mais le problème est quand je veux faire une autre classe. Programme compile alors sans aucun problème, mais le PPA se bloque.
Code de travail dans une classe:
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);
}
Lorsque je tente de diviser ce à deux classes différentes, MainActivity.java et Cell.java l'APP se bloque.
Activité principale:
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);
}
}
Avant d'ajouter la ligne: contexte de contexte, le programme ne compile pas.
Cela se produit parce que l'activité a méthode getSystemService qui transmet la demande à Context.getSystemService (). Donc, vous devez envoyer contexte de l'intérieur getMCC param ().
Chaîne getMCC (teneur en contexte) {TelephonyManager telephonyManager = context.getSystemService (Context.TELEPHONY_MANAGER_SERVICE); }
Chaîne mcc = cell.getMCC (MainActivity.this);