bilibili / boxing Goto Github PK
View Code? Open in Web Editor NEWAndroid multi-media selector based on MVP mode.
License: Apache License 2.0
Android multi-media selector based on MVP mode.
License: Apache License 2.0
是否有现成的相机Activity直接进行拍照。
<provider
android:name="android.support.v4.content.FileProvider"
android:authorities="${applicationId}.file.provider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/boxing_file_provider"/>
</provider>
在清单文件中加入后程序直接无法启动,
Error:Execution failed for task ':app:processDebugManifest'.
Manifest merger failed with multiple errors, see logs
去掉这个以后就可以启动,不知道啥原因
app Activity 在后台被内存回收之后,重新onStart方法会挂~
Caused by: java.lang.NullPointerException: Attempt to invoke interface method 'void com.bilibili.boxing.presenter.PickerContract$Presenter.loadMedias(int, java.lang.String)' on a null object reference
at com.bilibili.boxing.AbsBoxingViewFragment.loadMedias(AbsBoxingViewFragment.java:357)
at com.bilibili.boxing_impl.ui.BoxingBottomSheetFragment.startLoading(BoxingBottomSheetFragment.java:172)
at com.bilibili.boxing.AbsBoxingViewFragment.checkPermissionAndLoad(AbsBoxingViewFragment.java:187)
at com.bilibili.boxing.AbsBoxingViewFragment.onViewCreated(AbsBoxingViewFragment.java:178)
at com.bilibili.boxing_impl.ui.BoxingBottomSheetFragment.onViewCreated(BoxingBottomSheetFragment.java:84)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1315)
at android.support.v4.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1523)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1585)
at android.support.v4.app.FragmentManagerImpl.dispatchActivityCreated(FragmentManager.java:2832)
at android.support.v4.app.FragmentController.dispatchActivityCreated(FragmentController.java:201)
at android.support.v4.app.FragmentActivity.onStart(FragmentActivity.java:603)
at android.support.v7.app.AppCompatActivity.onStart(AppCompatActivity.java:181)
at ***.MainActivity.onStart(MainActivity.java:523)
at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1248)
at android.app.Activity.performStart(Activity.java:6699)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2629)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2727)
at android.app.ActivityThread.-wrap12(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1478)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6121)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:889)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:779)
java.lang.RuntimeException: Unable to get provider android.support.v4.content.FileProvider: java.lang.SecurityException: Provider must grant uri permissions
at android.app.ActivityThread.installProvider(ActivityThread.java:5814)
at android.app.ActivityThread.installContentProviders(ActivityThread.java:5403)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5342)
at android.app.ActivityThread.-wrap2(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1528)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6077)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:865)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755)
Caused by: java.lang.SecurityException: Provider must grant uri permissions
at android.support.v4.content.FileProvider.attachInfo(FileProvider.java:372)
at android.app.ActivityThread.installProvider(ActivityThread.java:5811)
at android.app.ActivityThread.installContentProviders(ActivityThread.java:5403)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5342)
at android.app.ActivityThread.-wrap2(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1528)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6077)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:865)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755)
集成lib后运行 就报这个错, 请问下这个权限要怎么弄?
这是我的配置
java.lang.RuntimeException: Canvas: trying to use a recycled bitmap android.graphics.Bitmap@6d2f883
at android.graphics.Canvas.throwIfCannotDraw(Canvas.java:1301)
at android.graphics.Canvas.drawBitmap(Canvas.java:1435)
at android.graphics.drawable.BitmapDrawable.draw(BitmapDrawable.java:551)
at android.widget.ImageView.onDraw(ImageView.java:1270)
at android.view.View.draw(View.java:17469)
at android.view.View.updateDisplayListIfDirty(View.java:16464)
at android.view.View.draw(View.java:17238)
at android.view.ViewGroup.drawChild(ViewGroup.java:3921)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3711)
at android.view.View.draw(View.java:17472)
at android.view.View.updateDisplayListIfDirty(View.java:16464)
at android.view.View.draw(View.java:17238)
at android.view.ViewGroup.drawChild(ViewGroup.java:3921)
at android.support.v7.widget.RecyclerView.drawChild(RecyclerView.java:4248)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3711)
at android.view.View.draw(View.java:17472)
at android.support.v7.widget.RecyclerView.draw(RecyclerView.java:3657)
at android.view.View.updateDisplayListIfDirty(View.java:16464)
at android.view.View.draw(View.java:17238)
at android.view.ViewGroup.drawChild(ViewGroup.java:3921)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3711)
at android.view.View.updateDisplayListIfDirty(View.java:16459)
at android.view.View.draw(View.java:17238)
at android.view.ViewGroup.drawChild(ViewGroup.java:3921)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3711)
at android.view.View.draw(View.java:17472)
at android.view.View.updateDisplayListIfDirty(View.java:16464)
at android.view.View.draw(View.java:17238)
at android.view.ViewGroup.drawChild(ViewGroup.java:3921)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3711)
at android.view.View.updateDisplayListIfDirty(View.java:16459)
at android.view.ThreadedRenderer.updateViewTreeDisplayList(ThreadedRenderer.java:325)
at android.view.ThreadedRenderer.updateRootDisplayList(ThreadedRenderer.java:331)
at android.view.ThreadedRenderer.draw(ThreadedRenderer.java:366)
at android.view.ViewRootImpl.draw(ViewRootImpl.java:3134)
at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:2933)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2522)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1437)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:7397)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:920)
at android.view.Choreographer.doCallbacks(Choreographer.java:695)
at android.view.Choreographer.doFrame(Choreographer.java:631)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:906)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:158)
at android.app.ActivityThread.main(ActivityThread.java:7237)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
a 'else' is missed in function 'loadVideos' of VideoTask
Unable to get provider android.support.v4.content.FileProvider: java.lang.SecurityException: Provider must grant uri permissions
java.lang.RuntimeException: Canvas: trying to use a recycled bitmap android.graphics.Bitmap@206917cb
1.多选图片的时候(最大9张),缩略图页面 选择了4张后,第五张点进去看大图,右下角显示 4/4,选中了第五张之后 变成正常的 5/9。
2.拍摄照片、裁剪的图片,存放的文件夹可以自己选择嘛? 现在存放的文件夹是固定的 boxing,在项目中不易统一管理。
3.相册页面滑动时:CloseableReference: Finalized without closing: 187a0660 28262719 (type = CloseableStaticBitmap)这个警告会不停的出现。
4.多选时,缩略图右上角的选中按钮 点击范围太小,不容易点击。
项目中有很多借鉴的东西,反馈建议只是想让此开源项目更好的让新手开发者使用。期待作者的回复。
选多张图片并预览的时候,把预览界面的右上角对号勾选掉,再次左右滑动会报错
compileSdkVersion 25
buildToolsVersion "25.0.2"
defaultConfig {
applicationId "webapps.MOrangeCheck.com"
minSdkVersion 17
targetSdkVersion 23
versionCode 1
versionName "1.0.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
compileSdkVersion选择了25,但是targetSdkVersion是23,按理来说应该以23的状态运行的,但是拍照时还是会崩溃
05-02 09:50:19.474 13528-13528/webapps.MOrangeCheck.com E/AndroidRuntime: FATAL EXCEPTION: main
Process: webapps.MOrangeCheck.com, PID: 13528
java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.res.XmlResourceParser android.content.pm.ProviderInfo.loadXmlMetaData(android.content.pm.PackageManager, java.lang.String)' on a null object reference
at android.support.v4.content.FileProvider.parsePathStrategy(FileProvider.java:583)
at android.support.v4.content.FileProvider.getPathStrategy(FileProvider.java:557)
at android.support.v4.content.FileProvider.getUriForFile(FileProvider.java:399)
at com.bilibili.boxing.utils.CameraPickerHelper.getFileUri(CameraPickerHelper.java:182)
at com.bilibili.boxing.utils.CameraPickerHelper.startCameraIntent(CameraPickerHelper.java:165)
at com.bilibili.boxing.utils.CameraPickerHelper.takePhotoSecure(CameraPickerHelper.java:128)
at com.bilibili.boxing.utils.CameraPickerHelper.startCamera(CameraPickerHelper.java:97)
at com.bilibili.boxing.AbsBoxingViewFragment.startCamera(AbsBoxingViewFragment.java:438)
at com.bilibili.boxing_impl.ui.BoxingViewFragment$OnCameraClickListener.onClick(BoxingViewFragment.java:461)
at android.view.View.performClick(View.java:5657)
at android.view.View$PerformClick.run(View.java:22314)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:241)
at android.app.ActivityThread.main(ActivityThread.java:6217)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:865)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755)
--------- beginning of system
另外,如果按照7.0的配置去配置是可以正常拍照的,但是拍完会黑屏一段时间才回去原来的页面,比6.0的时候要慢
公司测试组反馈在oppo A53m手机上拍照完成时响应较慢,经过查看源码定位到
CameraPickerHelper.java文件230-241行:
原代码如下:
int degree = BoxingExifHelper.getRotateDegree(file.getAbsolutePath());
Matrix matrix = new Matrix();
if (degree != 0) {
matrix.postRotate(degree);
}
BitmapFactory.Options options = new BitmapFactory.Options();
options.inJustDecodeBounds = false;
bitmap = BitmapFactory.decodeFile(file.getAbsolutePath(), options);
outBitmap = Bitmap.createBitmap(bitmap, 0, 0, bitmap.getWidth(), bitmap.getHeight(), matrix, false);
outputStream = new FileOutputStream(file);
outBitmap.compress(Bitmap.CompressFormat.JPEG, 100, outputStream);
outputStream.flush();
建议修改为:
int degree = BoxingExifHelper.getRotateDegree(file.getAbsolutePath());
Matrix matrix = new Matrix();
if (degree != 0) {
matrix.postRotate(degree);
BitmapFactory.Options options = new BitmapFactory.Options();
options.inJustDecodeBounds = false;
bitmap = BitmapFactory.decodeFile(file.getAbsolutePath(), options);
outBitmap = Bitmap.createBitmap(bitmap, 0, 0, bitmap.getWidth(), bitmap.getHeight(), matrix, false);
outputStream = new FileOutputStream(file);
outBitmap.compress(Bitmap.CompressFormat.JPEG, 100, outputStream);
outputStream.flush();
}
以避免在不需要旋转的时候浪费资源
跳转到图片选择界面,CheckBox选中范围很小,手指粗的人一点很容易就跳到图片预览界面,如何关闭这个,让用户点击左下的按钮去预览。点击整个图片为选中
@@#使用Fresco图片单选后无法显示
你好,请问混淆要怎么配置?
impl模块中:
1:多选模式时,是否可以支持设置选择的数量,现在写死为9.
private static final int MAX_SELECTED_COUNT = 9;
2:错别字
<string name="load_image_fail">肥肠抱歉,加载出错啦</string>
<string name="crop_error">肥肠抱歉,裁剪出错啦</string>
先调用 imageMedia.compress(new ImageCompressor(this))后,能获取mCompressPath吗
com.qienanxiang.tip/com.qienanxiang.tip.activity.EditF3SecondActivity (server)' ~ Channel is unrecoverably broken and will be disposed!
05-12 08:31:41.719 1617-1915/? E/InputDispatcher: channel 'f1dc6c1 com.qienanxiang.tip/com.qienanxiang.tip.activity.MainActivity (server)' ~ Channel is unrecoverably broken and will be disposed!
demo上裁剪正常,然后继承到自己的app上就裁剪点击确定后,停留在选择图片界面。
试着把demo里面的 FirstActivity 整个复制过来,发现一样的停留在选择图片界面,一进入 Activity 就初始化了。
BoxingMediaLoader.getInstance().init(new BoxingGlideLoader()); // IBoxingMediaLoader
BoxingCrop.getInstance().init(new BoxingUcrop()); // a class implements IBoxingCrop
找了好久找不到原因,对比了很久,并没有发现哪里缺了设置,还请指教
将图片加载框架改为Glide时,第一次选择图片可以正常显示,然后在进行选择会加载图片失败,报错位置为BoxingGlideLoader的44行,You must not call setTag() on a view Glide is targeting,原因为Item的布局简化代码,需外部嵌套父布局即可正常显示
05-16 16:11:04.824 9966-24510/com.bilibili.boxing W/ExifInterface: Invalid image: ExifInterface got an unsupported image format file(ExifInterface supports JPEG and some RAW image formats only) or a corrupted JPEG file to ExifInterface.
java.io.IOException: Invalid marker: 89
at android.media.ExifInterface.getJpegAttributes(ExifInterface.java:1852)
at android.media.ExifInterface.loadAttributes(ExifInterface.java:1485)
at android.media.ExifInterface.(ExifInterface.java:1122)
at com.yalantis.ucrop.task.BitmapCropTask.crop(BitmapCropTask.java:150)
at com.yalantis.ucrop.task.BitmapCropTask.doInBackground(BitmapCropTask.java:94)
at com.yalantis.ucrop.task.BitmapCropTask.doInBackground(BitmapCropTask.java:35)
at android.os.AsyncTask$2.call(AsyncTask.java:316)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:255)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
at java.lang.Thread.run(Thread.java:776)
关于主题颜色的问题,我的colorPrimary被Boxing的colorPrimary覆盖掉,Title显示的一直是黑色,开始我怀疑是主题的问题,在Application中使用了 tools:replace="android:theme",但是效果还是黑色,请问如何才能不被Boxing的颜色 覆盖掉
RT,是我理解的方式不对么?
视频直接复制到DCIM目录下 无法显示该视频
1.选择自带压缩拍照后的图片是存2份?一份原图在DCIM文件夹,一份压缩后的在APP自己的catch目录?
2.如果不想放在DCIM的话可以选择不放吗?如何操作
3.想压缩得更小一些,即使模糊一点也行,在哪里调整压缩率
如果需要照片别的信息,有uri的话是不是会方便一丢丢
BoxingConfig singleImgConfig = new BoxingConfig(BoxingConfig.Mode.SINGLE_IMG);
singleImgConfig.needCamera(1);
请看看哈
错误信息:java.lang.RuntimeException: Canvas: trying to use a recycled bitmap android.graphics.Bitmap@33388de7
手机:HTC,5.0系统
toolbar的颜色能修改嘛,还有加载图片的展位图支持替换嘛?
默认是灰色的,但是选中图片后就会变成黑色了,很难看的说。
在加载图片列表中,有些图片无法正常显示,使用Picasso加载图片的缩略图报no such file or directory异常,而使用图片原图加载则正常。手机型号为:zuk z1,小米3c。
详情图
另
boxing-impl/src/main/res/values/strings.xml:41行有错字
<string name="crop_error">肥肠(非常)抱歉,裁剪出错啦</string>
通过compile进行项目依赖的时候,会出现Manifest文件出现label名字冲突,必须要使用box_app_name才会编译通过,建议作者删除library包中的application节点,或者请给我一个能够解决这个问题的建议,谢谢。
裁剪缩放容易旋转图片,图像会有角度偏移,不好控制,将旋转单独移出
小米5s运行demo,多选图片时闪退.6.0.1 miui8 7.3.16开发版
AndroidRuntime: java.lang.ClassCastException: com.facebook.imagepipeline.image.CloseableAnimatedImage cannot be castto com.facebook.imagepipeline.image.CloseableStaticBitmap at com.bilibili.boxing.impl.BoxingFrescoLoader$1.onNewResultImpl(BoxingFrescoLoader.java:115) at com.facebook.datasource.BaseDataSubscriber.onNewResult(BaseDataSubscriber.java:48) at com.facebook.datasource.AbstractDataSource$1.run(AbstractDataSource.java:181) at android.os.Handler.handleCallback(Handler.java:742) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:154) at android.app.ActivityThread.main(ActivityThread.java:5486) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:738) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:628)
Hey, Cool library !
So you mentionned here ,in the Picaasso's loader, that it can not be used in Production Environment.
So what's the alternative to use this library in production ? Thanks.
使用的时候有个小疑问,我需要定义自己的实体,ImageMedia或者BaseMedia里的字段不能满足我的需求,不过我看源码中返回的就是List,这个应该怎么修改?谢谢
我的代码:
File file = new File(path);
RequestBody avatarRequestBody = RequestBody.create(MediaType.parse("image/png"), file);
MultipartBody.Part avatar = MultipartBody.Part.createFormData("photos", "icon.png", avatarRequestBody);
presenter.sendModifyAvatarRequest(avatar, entity.getToken(), UtilDevice.getAndroidId(), UtilDevice.getTime(), entity.getUserId(), entity.getNickName(), UtilDevice.beginHashReStr(map));
会报错误:
W/System.err: java.io.FileNotFoundException: file:/data/user/0/xique.yinwei.ren/cache/boxing/1492675723592.jpg: open failed: ENOENT (No such file or directory)
04-20 16:08:48.831 7233-7233/xique.yinwei.ren W/System.err: at libcore.io.IoBridge.open(IoBridge.java:452)
04-20 16:08:48.831 7233-7233/xique.yinwei.ren W/System.err: at java.io.FileInputStream.(FileInputStream.java:76)
04-20 16:08:48.831 7233-7233/xique.yinwei.ren W/System.err: at okio.Okio.source(Okio.java:168)
04-20 16:08:48.831 7233-7233/xique.yinwei.ren W/System.err: at okhttp3.RequestBody$3.writeTo(RequestBody.java:117)
04-20 16:08:48.831 7233-7233/xique.yinwei.ren W/System.err: at okhttp3.MultipartBody.writeOrCountBytes(MultipartBody.java:171)
04-20 16:08:48.831 7233-7233/xique.yinwei.ren W/System.err: at okhttp3.MultipartBody.writeTo(MultipartBody.java:113)
04-20 16:08:48.831 7233-7233/xique.yinwei.ren W/System.err: at okhttp3.internal.http.HttpEngine$NetworkInterceptorChain.proceed(HttpEngine.java:756)
04-20 16:08:48.831 7233-7233/xique.yinwei.ren W/System.err: at okhttp3.internal.http.HttpEngine.readResponse(HttpEngine.java:613)
04-20 16:08:48.831 7233-7233/xique.yinwei.ren W/System.err: at okhttp3.RealCall.getResponse(RealCall.java:244)
04-20 16:08:48.831 7233-7233/xique.yinwei.ren W/System.err: at okhttp3.RealCall$ApplicationInterceptorChain.proceed(RealCall.java:201)
04-20 16:08:48.831 7233-7233/xique.yinwei.ren W/System.err: at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:163)
04-20 16:08:48.831 7233-7233/xique.yinwei.ren W/System.err: at okhttp3.RealCall.execute(RealCall.java:57)
04-20 16:08:48.831 7233-7233/xique.yinwei.ren W/System.err: at retrofit2.OkHttpCall.execute(OkHttpCall.java:174)
04-20 16:08:48.831 7233-7233/xique.yinwei.ren W/System.err: at retrofit2.adapter.rxjava.RxJavaCallAdapterFactory$RequestArbiter.request(RxJavaCallAdapterFactory.java:171)
04-20 16:08:48.831 7233-7233/xique.yinwei.ren W/System.err: at rx.internal.operators.OperatorSubscribeOn$1$1$1.request(OperatorSubscribeOn.java:80)
04-20 16:08:48.831 7233-7233/xique.yinwei.ren W/System.err: at rx.Subscriber.setProducer(Subscriber.java:209)
04-20 16:08:48.831 7233-7233/xique.yinwei.ren W/System.err: at rx.internal.operators.OperatorSubscribeOn$1$1.setProducer(OperatorSubscribeOn.java:76)
04-20 16:08:48.831 7233-7233/xique.yinwei.ren W/System.err: at rx.Subscriber.setProducer(Subscriber.java:205)
04-20 16:08:48.831 7233-7233/xique.yinwei.ren W/System.err: at retrofit2.adapter.rxjava.RxJavaCallAdapterFactory$CallOnSubscribe.call(RxJavaCallAdapterFactory.java:152)
04-20 16:08:48.831 7233-7233/xique.yinwei.ren W/System.err: at retrofit2.adapter.rxjava.RxJavaCallAdapterFactory$CallOnSubscribe.call(RxJavaCallAdapterFactory.java:138)
04-20 16:08:48.831 7233-7233/xique.yinwei.ren W/System.err: at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:50)
04-20 16:08:48.831 7233-7233/xique.yinwei.ren W/System.err: at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:30)
04-20 16:08:48.831 7233-7233/xique.yinwei.ren W/System.err: at rx.Observable.unsafeSubscribe(Observable.java:8460)
04-20 16:08:48.831 7233-7233/xique.yinwei.ren W/System.err: at rx.internal.operators.OperatorSubscribeOn$1.call(OperatorSubscribeOn.java:94)
04-20 16:08:48.831 7233-7233/xique.yinwei.ren W/System.err: at rx.internal.schedulers.CachedThreadScheduler$EventLoopWorker$1.call(CachedThreadScheduler.java:222)
04-20 16:08:48.831 7233-7233/xique.yinwei.ren W/System.err: at rx.internal.schedulers.ScheduledAction.run(ScheduledAction.java:55)
04-20 16:08:48.831 7233-7233/xique.yinwei.ren W/System.err: at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:423)
04-20 16:08:48.831 7233-7233/xique.yinwei.ren W/System.err: at java.util.concurrent.FutureTask.run(FutureTask.java:237)
04-20 16:08:48.831 7233-7233/xique.yinwei.ren W/System.err: at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:269)
04-20 16:08:48.831 7233-7233/xique.yinwei.ren W/System.err: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
04-20 16:08:48.831 7233-7233/xique.yinwei.ren W/System.err: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
04-20 16:08:48.832 7233-7233/xique.yinwei.ren W/System.err: at java.lang.Thread.run(Thread.java:818)
04-20 16:08:48.832 7233-7233/xique.yinwei.ren W/System.err: Caused by: android.system.ErrnoException: open failed: ENOENT (No such file or directory)
04-20 16:08:48.832 7233-7233/xique.yinwei.ren W/System.err: at libcore.io.Posix.open(Native Method)
04-20 16:08:48.832 7233-7233/xique.yinwei.ren W/System.err: at libcore.io.BlockGuardOs.open(BlockGuardOs.java:186)
04-20 16:08:48.832 7233-7233/xique.yinwei.ren W/System.err: at libcore.io.IoBridge.open(IoBridge.java:438)
04-20 16:08:48.832 7233-7233/xique.yinwei.ren W/System.err: ... 31 more
当我在横屏状态调用拍照功能的时候,拍照界面是竖屏的,导致拍出来的照片方向不对,有没有办法能解决呢?
java.lang.RuntimeException: Canvas: trying to use a recycled bitmap android.graphics.Bitmap@cc64ef4
at android.graphics.Canvas.throwIfCannotDraw(Canvas.java:1270)
at android.graphics.Canvas.drawBitmap(Canvas.java:1404)
at android.graphics.drawable.BitmapDrawable.draw(BitmapDrawable.java:544)
at android.widget.ImageView.onDraw(ImageView.java:1246)
at android.view.View.draw(View.java:16201)
at android.view.View.updateDisplayListIfDirty(View.java:15198)
at android.view.View.draw(View.java:15971)
我使用的是Fresco图片库,BoxingRawImageFragment的BoxingCallback类也是能调onSuccess的
为什么我把IBoxingMediaLoader loader = new BoxingFrescoLoader(this);demo中的这个换成BoxingGlideLoader()就加载不出图呢?
我照着demo写了一个,跳转到BoxingViewActivity就崩溃了。
BoxingConfig config = new BoxingConfig(BoxingConfig.Mode.MULTI_IMG).needCamera(R.drawable.ic_boxing_camera_white).needGif();
Boxing.of(config).withIntent(this, BoxingActivity.class).start(this, REQUEST_CODE);
不是很明白needCamera(int )该怎么使用!
建议boxing-impl的资源都加上前缀,以避免在资源合并时由于与其他模块资源重名导致重名资源被覆盖的问题。
多选的情况下点拍照,拍完然后就直接返回选择的照片了!而不是回到选择照片模式!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.