если вы используете версию Android в виде месиво, добавьте этот код:
эта ошибка возникает из-за безопасности теперь в api 23 (mashmallow) версии android улучшена там безопасность, которую они просят разрешения
if (android.os.Build.VERSION.SDK_INT >= 23) {
// only for gingerbread and newer versions
String permission = Manifest.permission.READ_PHONE_STATE;
if (checkSelfPermission(permission) != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(MainActivity.this, new String[]{Manifest.permission.CAMERA, Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.READ_EXTERNAL_STORAGE,Manifest.permission.READ_PHONE_STATE}, MY_PERMISSIONS_REQUEST_READ_CONTACTS);
} else {
// Add your function here which open camera
}
} else {
// Add your function here which open camera
}
затем добавьте этот метод onRequestPermissionsResult
@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
switch (requestCode) {
case MY_PERMISSIONS_REQUEST_READ_CONTACTS: {
// If request is cancelled, the result arrays are empty.
if (grantResults.length > 0
&& grantResults[0] == PackageManager.PERMISSION_GRANTED{ } else { Toast.makeText(getApplication(), "Permission required",Toast.LENGTH_LONG).show(); } return; } }}