package simcarrier.example.com.carrierproperties;
import android.Manifest;
import android.content.Context;
import android.content.pm.PackageManager;
import android.os.Build;
import android.support.v4.app.ActivityCompat;
import android.support.v4.content.ContextCompat;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.telephony.TelephonyManager;
import android.text.TextUtils;
import android.util.Log;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
TelephonyManager telManager ;
String networkOperator;
String propertiesStr = "";
TextView carrierPropertiesTxtView;
@Override protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
carrierPropertiesTxtView = findViewById(R.id.carrierProperties);
telManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
networkOperator = telManager.getNetworkOperator();
if (checkSelfPermission(android.Manifest.permission.READ_PHONE_STATE)
== PackageManager.PERMISSION_GRANTED ||
checkSelfPermission(android.Manifest.permission.ACCESS_NETWORK_STATE)
== PackageManager.PERMISSION_GRANTED ) {
Log.v("TAG","Permission is granted");
getCarrierProp();
} else {
Log.v("TAG","Permission is revoked");
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.READ_PHONE_STATE , Manifest.permission.ACCESS_NETWORK_STATE}, 1);
}
}
@Override public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
if(grantResults[0]== PackageManager.PERMISSION_GRANTED){
Log.v("TAG","Permission: "+permissions[0]+ "was "+grantResults[0]);
getCarrierProp();
}
}
private void getCarrierProp(){
try{
if (!TextUtils.isEmpty(networkOperator)) {
int mcc = Integer.parseInt(networkOperator.substring(0, 3));
int mnc = Integer.parseInt(networkOperator.substring(3));
propertiesStr = propertiesStr+ " MCC="+mcc
+"\n MNC="+mnc
+"\n GID1 : " + telManager.getGroupIdLevel1()
+"\n Device : " + Build.DEVICE +"\n MANUFACTURER : " + Build.MANUFACTURER +"\n MODEL : " + Build.MODEL +"\n Network operator: " + telManager.getNetworkOperator()
+"\n Network operatorName: " + telManager.getNetworkOperatorName()
+"\n Network type: " + telManager.getNetworkType()
+"\n Sim Operator: " + telManager.getSimOperator()
+"\n Sim Operator name: " + telManager.getSimOperatorName()
+"\n Sim State : " + telManager.getSimState()
+"\n Sim SerialNo: " + telManager.getSimSerialNumber()
+"\n PhoneNumber : " + telManager.getLine1Number();
carrierPropertiesTxtView.setText(propertiesStr);
}
}catch(SecurityException e){
// SIM methods can cause Exceptions on some devices e.printStackTrace();
}catch(Exception e){
e.printStackTrace();
}
}
}
