错误相机安德鲁里德

时间:2018-11-06 01:31:20

标签: android android-studio android-camera

你好,我有这个问题 当我以调试模式在android中运行我的应用程序,并访问名为 CameraActivity 的活动时,显示用于拍照的按钮,但是当确认图像正确时,该活动将重新启动并再次请求照片,在另一个活动中,名称为 LoginActivity 的对话框显示一个对话框,以请求名称为 Permitions.js 的类的所有用户,我的问题是是否在 CameraActivity 需要再次使用该类来请求使用摄像机的授权或仅在登录时使用。 我尝试使用 Android 7 的手机并显示此错误,但是在使用 Android 6 的手机中未显示此错误 钯添加代码形式的活动和类:

-形成CameraActivity

 protected void onActivityResult(int requestCode, int resultCode, Intent data) {

    if (requestCode == CAMERA_REQUEST && resultCode == RESULT_OK) {
        try {
            //se crea un bitmap a partir de la uri de la imagen
            Bitmap bitmap = MediaStore.Images.Media.getBitmap(
                    getContentResolver(), imageUri);<-- In this mark null but sometimes show the string in base64
            //se muestra la foto
            imageViewFoto.setImageBitmap(bitmap);
            imageurl = getRealPathFromURI(imageUri);
            //como la foto ya fue tomada se muestra el layout de nitidez
            fotoTomada=true;
            layoutTitle.setVisibility(View.GONE);
            layoutCameraButton.setVisibility(View.GONE);
            layoutNitidez.setVisibility(View.VISIBLE);
            textViewMensaje.setVisibility(View.GONE);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

-班级许可

public class Permisos {
private Context context;
private Activity activity;
private static final int MULTIPLE_PERMISSIONS_REQUEST_CODE = 3;
private String[] permissions = new String[]{
        Manifest.permission.CAMERA,
        Manifest.permission.BLUETOOTH,
        Manifest.permission.BLUETOOTH_ADMIN,
        Manifest.permission.WRITE_EXTERNAL_STORAGE,
        Manifest.permission.READ_EXTERNAL_STORAGE,
        Manifest.permission.ACCESS_FINE_LOCATION,
        Manifest.permission.ACCESS_COARSE_LOCATION,
        Manifest.permission.INTERNET,
        Manifest.permission.ACCESS_NETWORK_STATE

};
public Permisos(Activity activity){
    this.context = activity.getApplicationContext();
    this.activity = activity;
}
public void permisos(){
    //Verifica si los permisos establecidos se encuentran concedidos
    if (ActivityCompat.checkSelfPermission(context, permissions[0]) != PackageManager.PERMISSION_GRANTED ||
            ActivityCompat.checkSelfPermission(context, permissions[1]) != PackageManager.PERMISSION_GRANTED) {
        //Si alguno de los permisos no esta concedido lo solicita
        ActivityCompat.requestPermissions(activity, permissions, MULTIPLE_PERMISSIONS_REQUEST_CODE);
    }
}

}

谢谢:D

0 个答案:

没有答案