I have been doing an application in Android Studio which I only get the imei of the device when I press a button.
The problem I have is that when you start the application it stops and then asks for permission. after requesting permits works the way I want
attached code
public class MainActivity extends AppCompatActivity {
TelephonyManager manager;
TextView txtMensaje;
private View btn;
private final int REQUEST_ACCESS_PHONE = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
txtMensaje = findViewById(R.id.txtIMEI);
btn = findViewById(R.id.btnSolicitar);
manager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
final String IMEI;
if (ActivityCompat.checkSelfPermission(MainActivity.this, Manifest.permission.READ_PHONE_STATE) != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(MainActivity.this, new String[]{Manifest.permission.READ_PHONE_STATE}, REQUEST_ACCESS_PHONE);
}
IMEI = manager.getDeviceId();
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
txtMensaje.setText(IMEI);
}
});
}
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
if (requestCode == REQUEST_ACCESS_PHONE) {
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
Toast.makeText(this, "permiso concedido", Toast.LENGTH_LONG).show();
} else {
Toast.makeText(this, "permiso Denegado", Toast.LENGTH_LONG).show();
}
}
}
}
this is the error thrown by the catlog
10-15 14:19:16.400 742-15047/? E/WifiMonitor: handleEvent unknown: 14 CTRL-EVENT-SCAN-STARTED
10-15 14:19:17.667 742-855/? E/WifiConfigStore: updateSavedNetworkHistory(): try "milita"WPA_PSK SSID="milita" milita [WPA2-PSK-CCMP][WPS][ESS] ajst=0
10-15 14:19:17.668 742-855/? E/WifiConfigStore: got known scan result c0:05:c2:7e:85:69 key : "milita"WPA_PSK num: 1 rssi=-47 freq=2437
10-15 14:19:17.671 742-855/? E/WifiConfigStore: writeKnownNetworkHistory() num networks:3 needWrite=false
10-15 14:19:17.671 742-855/? E/WifiStateMachine: mIsFullScanOngoing: false, mSendScanResultsBroadcast: false
10-15 14:19:17.967 742-742/? E/WifiTrafficPoller: TRAFFIC_STATS_POLL true Token 341 num clients 14
10-15 14:19:17.968 742-742/? E/WifiTrafficPoller: packet count Tx=12877 Rx=13528