我在4.4.2设备上遇到此异常.在Android 4.3设备或更低版本上无法重现.
设置是我有一个家庭活动(支持的子类ActionBarActivity).home活动检查一个布尔标志,如果为true,则启动一个启动画面活动(是的,理想情况下,启动在home活动之前,但我们假设我现在无法改变它以此方式工作).
启动启动屏幕startActivityForResult,它从服务器下载一些配置选项,然后完成并将结果返回到主页活动.
奇怪的是这在4.3及以下版本中工作正常,但在4.4设备上,我得到了上述异常(完整堆栈跟踪):
02-21 13:36:16.733 24409-24409/test.player E/ActivityThread? Performing stop of activity that is not resumed: {test.player/test.ui.actvities.HomeActivity}
java.lang.RuntimeException: Performing stop of activity that is not resumed: {test.player/test.ui.actvities.HomeActivity}
at android.app.ActivityThread.performStopActivityInner(ActivityThread.java:3147)
at android.app.ActivityThread.handleStopActivity(ActivityThread.java:3234)
at android.app.ActivityThread.access$1100(ActivityThread.java:135)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1223)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5017)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
at dalvik.system.NativeStart.main(Native Method)
Run Code Online (Sandbox Code Playgroud)
基于上面的内容,它看起来像onStop(因为我在onCreate上启动了splash活动)在onResume之前为Home Activity调用.
为什么现在这会导致4.4.x出现问题?
在我的应用程序中,用户上传了一个图像,然后我将其放在S3上.然后使用以下样式将该图像用作div的背景
div#id { background: url('<%= creative.url %>') no-repeat;}
Run Code Online (Sandbox Code Playgroud)
创意网址如下所示:
http://myhost.s3-website-us-east-1.amazonaws.com/27/display/608-(rec'd_021014)_user_image.jpg?1392767029
如上所述,问题是creative.url可以包含特殊字符(引号,parens等),并且根据http://www.w3.org/TR/CSS2/syndata.html#value-def-uri,它需要被逃脱.
我希望有一些方便的ruby/rails功能可以解决这个问题.
如果没有,那么我可能需要做一些正则表达式替换 - 那会是什么样子?
更新:
人们建议使用URI编码函数 - 我确实尝试过,但url字符串直接在ERB模板中使用,所以它会编码整个事情,这在css url函数中不起作用 - 即,我会喜欢(从上面):
div#id {background: url('http%3A%2F%2Fmyhost.s3-website-us-east-1.amazonaws.com%2F27%2Fdisplay%2F608-(rec%27d_021014)_user_image.jpg%3F1392767029') no-repeat;}