dongqiao8417 2016-04-29 01:58
浏览 80

Marshmallow抛出FileNotFoundException,但旧版本没有

I have been testing my app all week long on my Galaxy Tab 4 without any issues, but when I wanted to test my app on my Galaxy S7, it throws a FileNotFoundException. At first I thought it had to do with the runtime permissions, but INTERNET isn't listed as dangerous, so that isn't the problem.

I have a custom class called DatabaseTask which handles my database tasks. This class extends AsyncTask, so these 3 tasks will run on different threads. Now the weird thing is that when I only call my task that simply uploads some info to my database, it works just fine, but when I try to call 2 tasks that should upload an image to my database, the app will throw that Exception on my S7 (6.0), but not on my Tab 4 (4.4.1). I dont get any errors from my php scripts, but it seems that my S7 just doesn't get to the uploading image php file in the first place, whereas it does get to my submit info php file.

Log from my S7 with all 3 tasks enabled:

04-29 03:51:40.280 5569-5569/interfashionadmin.theindiestudio.com.interfashionadmin D/ViewRootImpl: ViewPostImeInputStage processPointer 0
04-29 03:51:40.350 5569-5569/interfashionadmin.theindiestudio.com.interfashionadmin D/ViewRootImpl: ViewPostImeInputStage processPointer 1
04-29 03:51:40.760 5569-5636/interfashionadmin.theindiestudio.com.interfashionadmin I/System.out: (HTTPLog)-Static: isSBSettingEnabled false
04-29 03:51:40.760 5569-5636/interfashionadmin.theindiestudio.com.interfashionadmin I/System.out: (HTTPLog)-Static: isSBSettingEnabled false
04-29 03:51:41.490 5569-5636/interfashionadmin.theindiestudio.com.interfashionadmin E/DatabaseTask: imagename=various_6_1&base64=<omitted>
04-29 03:53:45.220 5569-5636/interfashionadmin.theindiestudio.com.interfashionadmin W/System.err: java.io.FileNotFoundException: http://url/script.php //edited out for privacy reasons!
04-29 03:53:45.220 5569-5636/interfashionadmin.theindiestudio.com.interfashionadmin W/System.err:     at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:242)
04-29 03:53:45.220 5569-5636/interfashionadmin.theindiestudio.com.interfashionadmin W/System.err:     at interfashionadmin.theindiestudio.com.interfashionadmin.DatabaseTask.doInBackground(DatabaseTask.java:168)
04-29 03:53:45.220 5569-5636/interfashionadmin.theindiestudio.com.interfashionadmin W/System.err:     at interfashionadmin.theindiestudio.com.interfashionadmin.DatabaseTask.doInBackground(DatabaseTask.java:26)
04-29 03:53:45.230 5569-5636/interfashionadmin.theindiestudio.com.interfashionadmin W/System.err:     at android.os.AsyncTask$2.call(AsyncTask.java:295)
04-29 03:53:45.230 5569-5636/interfashionadmin.theindiestudio.com.interfashionadmin W/System.err:     at java.util.concurrent.FutureTask.run(FutureTask.java:237)
04-29 03:53:45.230 5569-5636/interfashionadmin.theindiestudio.com.interfashionadmin W/System.err:     at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:234)
04-29 03:53:45.230 5569-5636/interfashionadmin.theindiestudio.com.interfashionadmin W/System.err:     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
04-29 03:53:45.230 5569-5636/interfashionadmin.theindiestudio.com.interfashionadmin W/System.err:     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
04-29 03:53:45.230 5569-5636/interfashionadmin.theindiestudio.com.interfashionadmin W/System.err:     at java.lang.Thread.run(Thread.java:818)
04-29 03:53:45.230 5569-5569/interfashionadmin.theindiestudio.com.interfashionadmin D/AndroidRuntime: Shutting down VM
04-29 03:53:45.230 5569-5569/interfashionadmin.theindiestudio.com.interfashionadmin E/AndroidRuntime: FATAL EXCEPTION: main
                                                                                                      Process: interfashionadmin.theindiestudio.com.interfashionadmin, PID: 5569
                                                                                                      java.lang.NullPointerException: println needs a message
                                                                                                          at android.util.Log.println_native(Native Method)
                                                                                                          at android.util.Log.e(Log.java:334)
                                                                                                          at interfashionadmin.theindiestudio.com.interfashionadmin.DatabaseTask.onPostExecute(DatabaseTask.java:233)
                                                                                                          at interfashionadmin.theindiestudio.com.interfashionadmin.DatabaseTask.onPostExecute(DatabaseTask.java:26)
                                                                                                          at android.os.AsyncTask.finish(AsyncTask.java:651)
                                                                                                          at android.os.AsyncTask.access$500(AsyncTask.java:180)
                                                                                                          at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:668)
                                                                                                          at android.os.Handler.dispatchMessage(Handler.java:102)
                                                                                                          at android.os.Looper.loop(Looper.java:158)
                                                                                                          at android.app.ActivityThread.main(ActivityThread.java:7229)
                                                                                                          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)
04-29 03:53:45.730 5569-5636/interfashionadmin.theindiestudio.com.interfashionadmin I/System.out: (HTTPLog)-Static: isSBSettingEnabled false
04-29 03:53:45.730 5569-5636/interfashionadmin.theindiestudio.com.interfashionadmin I/System.out: (HTTPLog)-Static: isSBSettingEnabled false
04-29 03:53:46.440 5569-5579/interfashionadmin.theindiestudio.com.interfashionadmin W/art: Suspending all threads took: 17.722ms
04-29 03:53:46.440 5569-5636/interfashionadmin.theindiestudio.com.interfashionadmin E/DatabaseTask: imagename=various_6_2&base64=<omitted>
04-29 03:55:50.840 5569-5636/interfashionadmin.theindiestudio.com.interfashionadmin W/System.err: java.io.FileNotFoundException: http://url/script.php //edited out for privacy reasons!
04-29 03:55:50.840 5569-5636/interfashionadmin.theindiestudio.com.interfashionadmin W/System.err:     at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:242)
04-29 03:55:50.840 5569-5636/interfashionadmin.theindiestudio.com.interfashionadmin W/System.err:     at interfashionadmin.theindiestudio.com.interfashionadmin.DatabaseTask.doInBackground(DatabaseTask.java:168)
04-29 03:55:50.840 5569-5636/interfashionadmin.theindiestudio.com.interfashionadmin W/System.err:     at interfashionadmin.theindiestudio.com.interfashionadmin.DatabaseTask.doInBackground(DatabaseTask.java:26)
04-29 03:55:50.840 5569-5636/interfashionadmin.theindiestudio.com.interfashionadmin W/System.err:     at android.os.AsyncTask$2.call(AsyncTask.java:295)
04-29 03:55:50.840 5569-5636/interfashionadmin.theindiestudio.com.interfashionadmin W/System.err:     at java.util.concurrent.FutureTask.run(FutureTask.java:237)
04-29 03:55:50.840 5569-5636/interfashionadmin.theindiestudio.com.interfashionadmin W/System.err:     at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:234)
04-29 03:55:50.840 5569-5636/interfashionadmin.theindiestudio.com.interfashionadmin W/System.err:     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
04-29 03:55:50.840 5569-5636/interfashionadmin.theindiestudio.com.interfashionadmin W/System.err:     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
04-29 03:55:50.840 5569-5636/interfashionadmin.theindiestudio.com.interfashionadmin W/System.err:     at java.lang.Thread.run(Thread.java:818)
04-29 03:55:50.840 5569-5636/interfashionadmin.theindiestudio.com.interfashionadmin I/System.out: (HTTPLog)-Static: isSBSettingEnabled false
04-29 03:55:50.840 5569-5636/interfashionadmin.theindiestudio.com.interfashionadmin I/System.out: (HTTPLog)-Static: isSBSettingEnabled false
04-29 03:55:50.940 5569-5636/interfashionadmin.theindiestudio.com.interfashionadmin E/DatabaseTask: type=various&item=6&brand=brand&price=100&dscr=descr
04-29 03:58:45.400 5569-5569/interfashionadmin.theindiestudio.com.interfashionadmin I/Process: Sending signal. PID: 5569 SIG: 9

Log from my Tab 4 with all 3 tasks enabled:

04-29 04:14:59.346 21663-21663/interfashionadmin.theindiestudio.com.interfashionadmin D/ViewRootImpl: ViewPostImeInputStage ACTION_DOWN
04-29 04:14:59.946 21663-21762/interfashionadmin.theindiestudio.com.interfashionadmin I/System.out: (HTTPLog)-Static: isSBSettingEnabled false
04-29 04:14:59.956 21663-21762/interfashionadmin.theindiestudio.com.interfashionadmin I/System.out: KnoxVpnUidStorageknoxVpnSupported API value returned is false
04-29 04:15:00.936 21663-21762/interfashionadmin.theindiestudio.com.interfashionadmin E/DatabaseTask: imagename=various_6_1&base64=<omitted>
04-29 04:15:03.216 21663-21663/interfashionadmin.theindiestudio.com.interfashionadmin E/DatabaseTask: succes&various_6_1 has been uploaded
04-29 04:15:03.606 21663-21762/interfashionadmin.theindiestudio.com.interfashionadmin I/System.out: (HTTPLog)-Static: isSBSettingEnabled false
04-29 04:15:04.296 21663-21678/interfashionadmin.theindiestudio.com.interfashionadmin I/art: Background sticky concurrent mark sweep GC freed 138344(3MB) AllocSpace objects, 23(2MB) LOS objects, 15% free, 29MB/35MB, paused 5.675ms total 39.248ms
04-29 04:15:04.336 21663-21762/interfashionadmin.theindiestudio.com.interfashionadmin E/DatabaseTask: imagename=various_6_2&base64=<omitted>
04-29 04:15:05.166 21663-21663/interfashionadmin.theindiestudio.com.interfashionadmin E/DatabaseTask: succes&various_6_2 has been uploaded
04-29 04:15:05.176 21663-21880/interfashionadmin.theindiestudio.com.interfashionadmin I/System.out: (HTTPLog)-Static: isSBSettingEnabled false
04-29 04:15:05.216 21663-21880/interfashionadmin.theindiestudio.com.interfashionadmin E/DatabaseTask: type=various&item=6&brand=brans&price=100&dscr=descr
04-29 04:15:05.346 21663-21663/interfashionadmin.theindiestudio.com.interfashionadmin E/DatabaseTask: succes&item added!

Thanks!

  • 写回答

1条回答 默认 最新

  • dreamevil0002 2016-04-30 05:30
    关注

    just letting you know I found the problem. It turned out that it had nothing to do with connection after all, but I guess time ran out when it was trying to encode my bitmaps to a Base64 String. I used the following line to do that: bitmap.compress(Bitmap.CompressFormat.JPEG, 100, Stream);. I guess that the pictures taken by my S7 are to big for it to handle with the quality set to 100, but when i dropped it to 25, it all works like a charm. This also explained why only the front camera (lower quality) of my tab 4 worked. I thought this had to do something with the image paths.

    评论

报告相同问题?

悬赏问题

  • ¥15 R语言Rstudio突然无法启动
  • ¥15 关于#matlab#的问题:提取2个图像的变量作为另外一个图像像元的移动量,计算新的位置创建新的图像并提取第二个图像的变量到新的图像
  • ¥15 改算法,照着压缩包里边,参考其他代码封装的格式 写到main函数里
  • ¥15 用windows做服务的同志有吗
  • ¥60 求一个简单的网页(标签-安全|关键词-上传)
  • ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值