Skip to content

Android library to easily pick an image from gallery or camera app. The users can select their prefered gallery/camera app on a unique Intent. Initial gist:

License

Notifications You must be signed in to change notification settings

Mariovc/ImagePicker

Repository files navigation

ImagePicker [Deprecated] (Use Google API CameraX)

Min API Latest release

ImagePicker is an Android library to easily pick an image from gallery or camera app. The users can select their prefered gallery/camera app on a unique Intent. Download the APK sample on Google Play:

Add me to Linkedin

Screenshots

Sample screenshot

Usage

Add the following code to your Activity:

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        ...
        // width and height will be at least 600px long (optional).
        ImagePicker.setMinQuality(600, 600);
    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        Bitmap bitmap = ImagePicker.getImageFromResult(this, requestCode, resultCode, data);
        // TODO do something with the bitmap
    }

    public void onPickImage(View view) {
        // Click on image button
        ImagePicker.pickImage(this, "Select your image:");
    }

Add it to your project

Add this permission to your AndroidManifest:

    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

Add it in your root build.gradle at the end of repositories:

allprojects {
  repositories {
    // Add this line
    maven { url "https://jitpack.io" }
  }
}

Add ImagePicker dependency to your app build.gradle file:

dependencies{
    compile 'com.github.Mariovc:ImagePicker:x.x.x'
}

where x.x.x corresponds to latest release version published in release

In order to display the ImagePicker and to make works correcly both gallery and camera you have add this provider section inside the AndroidManifest.xml file:

<application>
        <provider
            android:name="android.support.v4.content.FileProvider"
            <!-- or android:name="androidx.core.content.FileProvider" if using androidx -->
            android:authorities="${applicationId}.provider"
            android:exported="false"
            android:grantUriPermissions="true">
            <meta-data
                android:name="android.support.FILE_PROVIDER_PATHS"
                android:resource="@xml/provider_paths" />
        </provider>
        ...
</application>

As you can see from the android:resource="@xml/provider_paths" line you also have to provide the provider_paths.xml file, that will contains these lines of code:

<?xml version="1.0" encoding="utf-8"?>
<paths>
    <external-path
      name="external_files"
      path="." />
</paths>

Contributing

Feel free to fork and make a pull request with your improvements.

Developed By

Follow me on Twitter Add me to Linkedin

License

Copyright 2016 Mario Velasco Casquero

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

About

Android library to easily pick an image from gallery or camera app. The users can select their prefered gallery/camera app on a unique Intent. Initial gist:

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages