标签: android-gallery

带文件夹过滤器的图库

我正在使用以下代码在我的应用程序内打开一个库

Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("image/*");
startActivityForResult(intent, FIND_RESULT);
Run Code Online (Sandbox Code Playgroud)

是否可以限制图像列表仅显示相机拍摄的图像?在我的2.1系统上查看图库,图像被分组,因此必须有一个参数来定义它所属的文件夹.

检查MediaStore.Images.ImageColumns我没找到任何可以定义此类内容的列.

我可能错了吗?因为如果我可以创建一个按文件夹过滤的查询并创建我自己的图库视图,那么我的问题就会解决.

android android-gallery

8
推荐指数
2
解决办法
9925
查看次数

从图库中选取一张照片并在图像视图中显示

我有一个应用程序,它有一个按钮,可以从您的图库中选择一张照片并且工作正常,选择图像后,我的应用程序显示回到活动并在图像视图中显示图像.

每个都工作正常,但有时,当我选择一些特定的图像时,预览没有显示.我也试图压缩图像仍然无法正常工作

我的代码在下面.. onCreate()

galeryBtn=(Button)findViewById(R.id.buttonGallery);
galeryBtn.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View v) {
      Intent i = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
      startActivityForResult(i, RESULT_LOAD_IMAGE);

    }
});
Run Code Online (Sandbox Code Playgroud)

在onActivityResult中(int requestCode,int resultCode,Intent data)

if (requestCode == RESULT_LOAD_IMAGE && resultCode == RESULT_OK && null != data) {
    Uri selectedImage = data.getData();
    String[] filePathColumn = { MediaStore.Images.Media.DATA };

    Cursor cursor = getContentResolver().query(selectedImage,filePathColumn, null, null, null);
    cursor.moveToFirst();

    int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
    String picturePath = cursor.getString(columnIndex);
    cursor.close();
    // String picturePath contains the path of selected Image

    // Show …
Run Code Online (Sandbox Code Playgroud)

android image android-gallery

8
推荐指数
2
解决办法
2万
查看次数

在Lollipop上的Android图库中显示图像文件

我正在尝试制作一些在应用程序中可见的图片(因此可以在应用程序外部共享和查看),但我想将图像保留在应用程序的数据目录中,以便应用程序被删除后会被删除(因此它们存储在"{sdcard}/Android/data/{appID}/Pictures/{subfolder} /"中).

我已经查看了很多答案,对于旧版本的Android,以下两种解决方案都有效,但它们似乎不适用于Lollipop:

MediaScannerConnection.scanFile(this,
    new String[]{file.toString()}, new String[] { "image/jpeg" },
    new MediaScannerConnection.OnScanCompletedListener() {
        public void onScanCompleted(String path, Uri uri) {
            Log.i("ExternalStorage", "Scanned " + path + ":");
            Log.i("ExternalStorage", "-> uri=" + uri);
        }
    });

Uri contentUri = Uri.fromFile(file);
Intent mediaScanIntent = new 
    Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE,contentUri);
sendBroadcast(mediaScanIntent);
Run Code Online (Sandbox Code Playgroud)

我在Nexus 4(Android 5.0.1)和Nexus 6(Android 5.1)中对此进行了测试,但它不起作用.在Nexus 7(Android 4.2.2)中,它确实有效.所有3个设备在{sdcard}/Android/data /文件夹中都有一个".onmedia"文件,因此没有正常的媒体扫描应该选择它们...

有没有人知道如何在所有设备/ Android版本上使用它?这应该是因为noMedia文件首先不起作用并且Lollipop是唯一正确执行此操作的版本吗?

编辑:请注意,即使重新启动手机(也应该触发重新扫描文件)也不起作用.并且有充分的理由因为文件位于".nomedia"目录的子文件夹中...所以任何包含MEDIA_MOUNTED广播的解决方案都是无用的我认为.

android android-gallery android-file android-mediascanner android-5.0-lollipop

8
推荐指数
1
解决办法
4542
查看次数

在相机和图库之间选择图像选择

我试图让用户从图库中选择图像,或者用相机拍照.我试过这个:

        Intent imageIntent = new Intent(Intent.ACTION_GET_CONTENT);
        imageIntent.setType("image/*");
        startActivityForResult(Intent.createChooser(imageIntent, "Select Picture"), GET_IMAGE_REQUEST);
Run Code Online (Sandbox Code Playgroud)

但它自动显示图库,甚至没有提供选择活动的选项.似乎应该有一些更好的方法来实现这个,而不是在这个问题中给出的解决方案.这真的是唯一的方法吗?

android android-intent android-gallery android-camera android-intent-chooser

7
推荐指数
2
解决办法
6462
查看次数

如何从内置图库中检索picasa照片?

我想从内置的Android图库中检索调用ACTION_PICKIntent 的照片.我对Picasa的图片有疑问.我已将代码用于此链接,但它不起作用(File对象不存在).请问任何想法.

android android-intent android-gallery

7
推荐指数
2
解决办法
3472
查看次数

图片库就像Google Play上的那个?(查看下一张图片)

我试图在Google Play商店中实现一个图片库,下一个图片可见:在此输入图像描述

我已尝试过不同的方法,但每个方法都走到了尽头:

1.使用PagerContainer(此处信息)但是这个解决方案在任何2.x设备上都不适用,因为下一个图像不可见,而ViewPager只在其边界内滚动(错误,此处没有回答)

2.使用Horizo​​ntalScrollView 这个解决方案在设计和功能方面已经证明是好的,但是因为Horizo​​ntalScrollView只支持一个子视图,所以它绘制了整个视图,因此我的某些设备存在内存问题.我从服务器接收图像,它们的数量和大小都很大.因此,这里也遇到了死胡同.

3.使用Horizo​​ntalListView(此处info )这听起来像是Horizo​​ntalScrollView的替代品,因为使用了适配器,因此解决了内存问题.但是,一旦从服务器加载图像,我无法正确修改此类以更改其测量值.正如您所看到的,它会测量其孩子,同时牢记父母的测量结果.当我定义视图时,尚未从服务器接收图像,因此测量结果不正确.一旦收到图像,我就无法正确地强制重新测量视图.

4.将ViewPager边距设置为负 此解决方案对我不起作用,因为在我开始滚动后测量结果未正确显示.(第一个视图显示设置的边距,下一个图像是可见的.但是,在开始滚动后,一些图像有边距,其他没有,一些只在一侧等)我不知道这里是否有一个不断测量的解决方案观点和屏幕.

我可以为其中一个解决方案发布代码,如果你认为它是正确的.但我觉得Google Play使用了另一种我不了解的解决方案.我不想使用Gallery,因为它已被弃用.

android-gallery android-image android-layout android-scrollview android-viewpager

7
推荐指数
1
解决办法
1831
查看次数

Android:哪个更好,viewpager,gallery,水平滚动视图.....或?

我有一个片段,并希望添加一个库,但我看到该画廊已被弃用.....

更具体地说,我实际上想要一个水平列表视图,因为我想自定义视图(在每一行中包含图像和文本)并允许它是srcollable.

此外,"行"的数量(如果水平它的列然后....)随数据库而变化,所以它不是静态的,我不想限制"行"的数量

谷歌帮助我找到了一些解决方案:viewpager和其他附加库

但哪一个更好?

我希望将来我不需要一直修复代码!谢谢!!!!

android android-gallery android-scrollview android-viewpager

7
推荐指数
0
解决办法
2577
查看次数

在android中显示带有轮播效果的图像

圆盘传送带

嗨,我想要像这样的图像库.我尝试过使用jazzyviewpager.它很好,但没有这个效果.任何人都能告诉我如何才能实现这种效果来显示图像.

android android-gallery android-viewpager

7
推荐指数
1
解决办法
8074
查看次数

从内置存储的Android手机上的图库中获取图像

嗨,我正在开发一个Android Gallery应用程序,我从内置库中获取图像并显示它.我正在使用如下代码

        String[] projection = {MediaStore.Images.Thumbnails._ID};


   Cursor cursor = getContentResolver().query(MediaStore.Images.Thumbnails.INTERNAL_CONTENT_URI,
                projection, // Which columns to return
                null,       // Return all rows
                null,       
                null);


        int columnIndex = cursor.getColumnIndexOrThrow(MediaStore.Images.Thumbnails._ID);
        int size = cursor.getCount();
        // If size is 0, there are no images on the SD Card.
        if (size == 0) 
        {
            Log.e("size 0","0");
        }
Run Code Online (Sandbox Code Playgroud)

问题是,当我在仅具有内部存储(Galaxy Nexus)的手机上运行此代码时,即使内置图库中有图像,我也会收到大小为零的Log.我该如何解决这个问题.请帮忙.谢谢!

android gridview image-gallery android-gallery

7
推荐指数
1
解决办法
1万
查看次数

权限被拒绝:打开未从uid导出的提供程序com.google.android.apps.photos.contentprovider.MediaContentProvider

当我尝试访问先前存储在SharedPreferences中的照片URI时,我的应用程序仅在android> = 6.0(marshmallow)中崩溃.虽然图像是第一次检索而没有任何错误.我使用targetSdkVersion22,所以我不需要在API> = 23中处理运行时权限.

我的清单文件中的权限

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.RECEIVE_SMS" />
<uses-permission android:name="android.permission.READ_SMS" />
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.CAPTURE_AUDIO_OUTPUT" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.WRITE_CONTACTS" />
<uses-permission android:name="android.permission.MANAGE_DOCUMENTS" />
Run Code Online (Sandbox Code Playgroud)

我得到的图像如下:

 // Determine Uri of camera image to save.
    final File root = new File(Environment.getExternalStorageDirectory() + File.separator + "pics" + File.separator);
    root.mkdirs();
    final String fname = Calendar.getInstance().getTimeInMillis() + ".jpg";
    final File sdImageMainDirectory = new File(root, fname); …
Run Code Online (Sandbox Code Playgroud)

android android-gallery android-contentprovider android-permissions

7
推荐指数
3
解决办法
8301
查看次数