你好,我有这个问题 当我以调试模式在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