我可以MediaStore.Images.Media正常获得图像宽度
但我需要从Dropbox中选择的图像中获取图像的宽度和高度
所以目前我有以下方法从Dropbox获取图像大小
private void getDropboxIMGSize(Uri uri){
String size = Long.toString(new File(uri.getPath()).length());
return size;
}
Run Code Online (Sandbox Code Playgroud)
但我真正需要的是获取文件的宽度和高度值
有谁知道如何实现这一目标?请帮忙!
我正在开发一个VideoPlayer.我将已URI启动的意图转换为字符串,它给了我content://media/external......但我需要得到真正的道路.
例如: /storage/extSdcard.....
我该怎么做呢?
如果需要,这是我的代码:
videoURI = getIntent().getData();
vv.setVideoURI(videoURI);
videoName = videoURI.toString();
tvTitle.setText(videoName);
Run Code Online (Sandbox Code Playgroud) 为Android N编译我遇到了一个问题FileProvider.我需要让用户从相册中选择图像/用相机拍照然后将其裁剪成方形.
我已经成功实现了FileProvider用相机拍摄图像,但是从图库中选择图像时遇到了严重的问题.问题是在库中有很多来自不同地方的文件,例如我有Exception:
java.lang.IllegalArgumentException: Failed to find configured root that contains /storage/6133-3766/DCIM/100ANDRO/DSC_0035.JPG
Run Code Online (Sandbox Code Playgroud)
所以问题是,我可以把什么放到file_paths.xml来访问任何地方/storage/.我不能依赖于确切的路径,因为可能有来自WhatsApp和类似应用程序的图片,例如WhatsApp图像获取此路径:
/storage/emulated/0/WhatsApp/Media/WhatsApp Images/IMG-20160821-WA0000.jpg
Run Code Online (Sandbox Code Playgroud)
我已设法解决空路径:
<external-path name="external_storage" path=""/>
其类似于Environment.getExternalStorageDirectory()根据文档.
但仍然无法弄清楚如何处理存储在其中的图像/storage/SOME_DIR/.请帮忙.
当我从图库中选择一个图像以在Android应用程序中的我的imageview上设置它时,我发现它被反转180或270或90度.
所以为了检查/解决这个我使用的EXIF方向,但它总是给我"0".
我无法得到什么问题.
码:
Uri selectedImageUri = data.getData();
absolutePath = selectedImageUri.getPath();
exifMedia = new ExifInterface(absolutePath);
String exifOrint = exifMedia.getAttribute(ExifInterface.TAG_ORIENTATION);
exifOrientation = Integer.parseInt(exifOrint);
System.out.println("Orientation Tag is:"+exifOrientation);
/** Convert URI into byte */
ContentResolver cr = getBaseContext()
.getContentResolver();
InputStream inputStream = cr
.openInputStream(selectedImageUri);
Bitmap bitmap = BitmapFactory.decodeStream(inputStream);
rotatedBMP = getResizedBitmapImage(
bitmap, 100, 100,exifOrientation);
ByteArrayOutputStream stream = new ByteArrayOutputStream();
rotatedBMP.compress(Bitmap.CompressFormat.PNG, 100,
stream);
byteArray = stream.toByteArray();
mimProfileImageBrowse.setImageBitmap(rotatedBMP);
Run Code Online (Sandbox Code Playgroud)
方法:
public Bitmap getResizedBitmapImage(Bitmap bm, int newHeight, int newWidth, int exifOrientation) {
int …Run Code Online (Sandbox Code Playgroud) 文件uri是已知的,例如
`file:///mnt/sdcard/Download/AppSearch_2213333_60.apk`
Run Code Online (Sandbox Code Playgroud)
我想检查这个文件是否可以在后台打开,怎么办?
我需要获得用户选择的pdf文件的真实路径.这是我的代码:
按钮点击:
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("application/pdf");
startActivityForResult(intent, 2);
Run Code Online (Sandbox Code Playgroud)
onActivityResult:
Uri uri = data.getData();
String picturePath = uri.toString();
Run Code Online (Sandbox Code Playgroud)
这里是图像的解决方案,从mediastore获取来自URI的文件名和路径,但它不适用于pdf,因为它使用了MediaStore.Images.Media.DATA.
我拼命尝试将捕获的视频发送到服务器。问题是内置相机应用程序给出的 URI 不是真实的文件路径。看起来是这样的/content:/media/external/video/media/19——
如何直接从这种 URI 访问真实路径或数据?
阅读完 android 文档后,我发现它看起来像内容提供者的符号,但我仍然不知道如何获取我需要的数据。请帮忙!!!
提前致谢
我正在使用代码从图库中选择图像
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.gallery);
Intent i = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(i, SELECT_PICTURE);
}
public void onActivityResult(int requestCode, int resultCode, Intent imageReturnedIntent) {
Bitmap bitmap = null;
switch (requestCode) {
case SELECT_PICTURE:
if (resultCode == RESULT_OK) {
Uri selectedImage = imageReturnedIntent.getData();
try {
bitmap = decodeUri(selectedImage);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
MyApplicationGlobal.bitmap = bitmap;
MyApplicationGlobal.imageUri = selectedImage.toString();
Log.v("selectedImage", "selectedImage: " + selectedImage.getPath());
Intent intentUpload = new Intent(GalleryActivity.this, UploadActivity.class);
startActivity(intentUpload);
finish();
}
}
Run Code Online (Sandbox Code Playgroud)
然后我尝试通过调用Web服务上传该图像
MultipartEntity reqEntity …Run Code Online (Sandbox Code Playgroud) android web-services path filenotfoundexception image-uploading
我在 S/O 上看到了与此相关的其他几个问题,但与我的问题最接近的问题似乎没有得到很多答复(小米 MI 设备未从图库中选取图像)。希望这个问题能有更好的运气。
我正在尝试从手机图库中选择图像,并将图像路径传递到另一个活动,以便用户预览该图像。
我已经在另外两个设备(Moto E 和名为 Coolpad 的设备?)上对此进行了测试,它们似乎都工作得很好。
(调试 Android 源代码似乎不是一个实用的选择。)
在主活动中,在 UI 触发器上,我使用以下代码启动图库选择器:
private void dispatchPickPictureIntent() {
Intent pickPictureIntent = new Intent(Intent.ACTION_PICK);
pickPictureIntent.setType("image/*");
startActivityForResult(pickPictureIntent, REQUEST_IMAGE_PICK);
}
Run Code Online (Sandbox Code Playgroud)
我这样处理结果:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == REQUEST_IMAGE_PICK && resultCode == RESULT_OK) {
Uri selectedImage = data.getData();
mCurrentPhotoPath = getRealPathFromURI(this, selectedImage);
launchUploadActivity();
}
}
private String getRealPathFromURI(Context context, Uri uri) {
Cursor cursor = null;
try {
String [] proj = …Run Code Online (Sandbox Code Playgroud) android ×10
path ×2
uri ×2
bitmap ×1
exif ×1
file-browser ×1
height ×1
image ×1
java ×1
pdf ×1
redmi-device ×1
string ×1
web-services ×1
width ×1
xiaomi ×1