I made this fork to fix crash caused by old and unmaintained permission requester lib. I replaced it with dexter, so now this camera library works as expected. Also I updated all other dependancies and stuff like that.
Before using this fork, first check the original lib as it might have accepted my patch and released the update. If version of original lib is higher that 1.1.0 (hint: it's right now) then please don't use this fork as it might be outdated.
- add jitpack repo to your repositories list, if you haven't yet:
repositories {
...
maven { url 'https://jitpack.io' }
}
- reference lib dependency:
compile 'com.github.MrBIMC:sandriosCamera:1.1.0'
- that's it 😄
Camera Library for Android
sandrios camera allows developers to integrate image and video capturing without dealing with the complicated camera APIs.
It includes image picker interface inside the cameraview enabling the user to access recent media from inside the camera module.
You can download an aar from GitHub's releases page.
Or use Gradle:
repositories {
jcenter()
}
dependencies {
compile 'com.sandrios.android:sandriosCamera:1.0.9'
}
Or Maven:
<dependency>
<groupId>com.sandrios.android</groupId>
<artifactId>sandriosCamera</artifactId>
<version>1.0.9</version>
<type>pom</type>
</dependency>
Depending on your ProGuard (DexGuard) config and usage, you may need to include the following lines in your proguard.cfg
-keep public class com.sandrios.** { *; }
-keep public class android.support.v7.widget.** { *; }
-keep public class android.support.v7.internal.widget.** { *; }
-keep public class android.support.v7.internal.view.menu.** { *; }
-keep public class * extends android.support.v4.view.ActionProvider {
public <init>(android.content.Context);
}
-dontwarn android.support.**
-keep public class * implements com.bumptech.glide.module.GlideModule
-keep public enum com.bumptech.glide.load.resource.bitmap.ImageHeaderParser$** {
**[] $VALUES;
public *;
}
-dontwarn com.yalantis.ucrop**
-keep class com.yalantis.ucrop** { *; }
-keep interface com.yalantis.ucrop** { *; }
-keepattributes *Annotation*
-keepclassmembers class ** {
@com.squareup.otto.Subscribe public *;
@com.squareup.otto.Produce public *;
}
Please check the sample project included for more examples:
private static final int CAPTURE_MEDIA = 368;
// showImagePicker is boolean value: Default is true
private void launchCamera() {
new SandriosCamera(activity, CAPTURE_MEDIA)
.setShowPicker(showImagePicker)
.setVideoFileSize(15) //File Size in MB: Default is no limit
.setMediaAction(CameraConfiguration.MEDIA_ACTION_VIDEO) // default is CameraConfiguration.MEDIA_ACTION_BOTH
.enableImageCropping(true) // Default is false.
.launchCamera();
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == CAPTURE_MEDIA && resultCode == RESULT_OK) {
Log.e("File", "" + data.getStringExtra(SandriosCameraConfiguration.Arguments.FILE_PATH));
Toast.makeText(this, "Media captured.", Toast.LENGTH_SHORT).show();
}
}
- Flash Mode (Testing Needed)
Comments/bugs/questions/pull requests are always welcome!
- Android SDK: Sandrios Camera requires a minimum API level of 14.
You may also find precompiled aar on the releases page.
To report a specific problem or feature request, open a new issue on Github. For questions, suggestions, or anything else -- github@sandrios.com
- Glide for the Image Loading Framework
- Ted Permission for the Permission Management in Android 23+
- uCrop for the Image Cropping
- Everyone who has contributed code and reported issues!
sandrios studios - @sandrios on GitHub
MIT. See the LICENSE file for details.