将拍摄的照片或从照片库照片中选择保存到特定目录

时间:2018-04-17 20:31:22

标签: android android-camera-intent android-file android-external-storage

在我的应用中,我允许用户通过点击" changePhoto"更改他的个人资料照片。 ImageView

只需打开两个READ_EXTERNAL_STORAGE s

的对话框

第一个从画廊中选择

第二张拍照

我已将权限添加到用户授予的WRITE_EXTERNAL_STORAGECAMERApublic static String imageUrl; public static final String PHOTO_DIR = getString(R.string.app_name) + "/images" private void cameraOrLibraryDialog() { Dialog dialog = new Dialog(mContext); dialog.setContentView(R.layout.dialog_camera_or_gallery); int windowWidth = (int) (getResources().getDisplayMetrics().widthPixels); int windowHeight = (int) (getResources().getDisplayMetrics().heightPixels * 0.35); dialog.getWindow().setLayout(windowWidth, windowHeight); dialog.show(); ImageView cameraIV = (ImageView) dialog.findViewById(R.id.ivCameraIcon); ImageView galleryIV = (ImageView) dialog.findViewById(R.id.ivLibraryIcon); cameraIV.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { } }); galleryIV.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { } }); }

我需要的是:

如果用户从图库中选择

  1. 将打开图库
  2. 允许他选择照片
  3. 将照片复制到手机上的特定目录" APP_NAME / images"在他的user_id下,如#34; 76hgjys65gh66tt.jpg"
  4. 将照片的新地址保存在全局字符串" imageURL"以便稍后保存在数据库中
  5. 如果用户选择拍照

    1. 将打开相机
    2. 允许他拍照
    3. 将照片保存到同一目录" APP_NAME / images"在他的同一个user_id
    4. 将照片的新地址保存在同一个全局字符串" imageURL"
    5. 我搜索了它,发现了许多关于复制照片和拍照的结果,但我无法在我的应用中将两者结合在一起

      var filterValue = jQuery(this).attr('data-filter');
      

      你能帮助我......

1 个答案:

答案 0 :(得分:0)

试试这个:

private void AddImageInGalleryFunction() {
    Intent mediaScanIntent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
    File f = new File(mCurrentPhotoPath);
    Uri contentUri = Uri.fromFile(f);
    mediaScanIntent.setData(contentUri);
    this.sendBroadcast(mediaScanIntent);
}