致命异常:Cloudinary OnProgress方法的java.lang.RuntimeException数组长度错误

时间:2019-07-18 05:59:36

标签: android cloudinary

当尝试上传到Cloudinary服务以减小视频大小时,我在特定设备版本上的用户崩溃的数量很少。它们崩溃并显示以下错误-

Fatal Exception: java.lang.RuntimeException
bad array lengths

我似乎无法在设备上重现该错误,而且似乎也不再存在。这是整个轨迹-


Fatal Exception: java.lang.RuntimeException
bad array lengths
android.os.Parcel.readIntArray (Parcel.java:905)
android.app.INotificationManager$Stub$Proxy.enqueueNotificationWithTag (INotificationManager.java:732)
android.app.NotificationManager.notify (NotificationManager.java:230)
android.support.v4.app.NotificationManagerCompat.notify (NotificationManagerCompat.java:212)
android.support.v4.app.NotificationManagerCompat.notify (NotificationManagerCompat.java:196)
com.onemdtalent.app.util.CloudinaryListenerService.onProgress (CloudinaryListenerService.java:80)
com.cloudinary.android.DefaultCallbackDispatcher$1.handleMessage (DefaultCallbackDispatcher.java:66)
android.os.Handler.dispatchMessage (Handler.java:111)
android.os.Looper.loop (Looper.java:207)
android.app.ActivityThread.main (ActivityThread.java:5740)
java.lang.reflect.Method.invoke (Method.java)
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:905)
com.android.internal.os.ZygoteInit.main (ZygoteInit.java:766)


这是相关的OnProgress方法-


 @Override
    public void onProgress(String requestId, long bytes, long totalBytes) {
        int x = 5 / 0;
        if (totalBytes > 0) {
            double progressFraction = (double) bytes / totalBytes;
            int progress = (int) Math.round(progressFraction * 1000);
            mBuilder.setProgress(1000, ((100 / 3) * 2) * 10 + (progress / 3), false); //include compress and storage progress components to final progress calculation
            mBuilder.setContentText(String.format("Uploading video: %d%% (%d KB)", (int) ((((100 / 3) * 2) * 10 + (progress / 3)) * 0.1), bytes / 1024));
        } else {
            mBuilder.setProgress(1000, 1000, true);
            mBuilder.setContentText(String.format("%d KB", bytes / 1024));
            onError(new Throwable("Something wrong with file. "));
        }
        mManagerCompat.notify(NOTI_ID, mBuilder.build());

    }

我已经搜索了过去2天的错误,并且该错误似乎与操作系统有关,但没有任何已知的修复程序。如果有人能指出导致问题的任何线索,我将很高兴听到。

1 个答案:

答案 0 :(得分:0)

来自Cloudinary的Shirly :) 如果再次发生这种情况,您可以通过时间戳和Cloud名称与我们联系以进行进一步调查吗? 谢谢!