android不支持trigger.io';s tabs.openWithOptions用于服务器端重定向

android不支持trigger.io';s tabs.openWithOptions用于服务器端重定向,android,oauth-2.0,trigger.io,Android,Oauth 2.0,Trigger.io,我有一些基本的trigger.io代码来打开oauth2身份验证的模式对话框: var url_auth = "http://10.0.0.70/oauth2/authorize"; var oauth_client_id = "123"; var oauth_redirect_uri = "http://done.com/oauth2/complete"; forge.tabs.openWithOptions({ url: url_auth + "?response_type=tok

我有一些基本的trigger.io代码来打开oauth2身份验证的模式对话框:

var url_auth = "http://10.0.0.70/oauth2/authorize";
var oauth_client_id = "123";
var oauth_redirect_uri = "http://done.com/oauth2/complete";

forge.tabs.openWithOptions({
    url: url_auth + "?response_type=token&client_id="+ oauth_client_id + "&redirect_url=" + oauth_redirect_uri,
    pattern: oauth_redirect_uri + "*",
    title: "Authorizing"
}, function(data) { ... });
当用户未通过身份验证时,服务器将重定向到
http://10.0.0.70/users
以显示登录表单

在iOS6模拟器中运行代码会产生正确的结果:

  • 打开模态对话框
  • 服务器重定向到登录表单,显示在对话框中
  • 用户可以进行身份验证
  • 服务器重定向到oauth_redirect_uri,触发捕捉并关闭对话框
当我在android模拟器中运行时,初始页面被加载,但随后应用程序崩溃

  • 我看到服务器上正在处理/oauth2/authorize url
  • 我在调试对话框中看到的只是“子视图加载<代码>http://10.0.0.70:3000/users”
有关此错误的更多详细信息如下(在日志中,此项之后没有内容):

因此,看起来服务器已正确重定向,但trigger.io应用程序未呈现新的服务器页面

问题的adb logcat输出:

D/Forge   (  394): Returned: {"content":null,"callid":"03F62CF7-8B33-425C-ABD5-2BA64565B789","status":"success"}
D/dalvikvm(  394): GC_EXTERNAL_ALLOC freed 349 objects / 24336 bytes in 41ms
I/Forge   (  394): subView load http://10.0.0.70:3000/users
D/AndroidRuntime(  394): Shutting down VM
W/dalvikvm(  394): threadid=1: thread exiting with uncaught exception (group=0x4001d800)
E/AndroidRuntime(  394): FATAL EXCEPTION: main
E/AndroidRuntime(  394): java.lang.NoSuchMethodError: android.webkit.WebView.removeJavascriptInterface
E/AndroidRuntime(  394):    at io.trigger.forge.android.modules.tabs.ModalView$2$3.shouldOverrideUrlLoading(ModalView.java:310)
E/AndroidRuntime(  394):    at android.webkit.CallbackProxy.uiOverrideUrlLoading(CallbackProxy.java:216)
E/AndroidRuntime(  394):    at android.webkit.CallbackProxy.handleMessage(CallbackProxy.java:323)
E/AndroidRuntime(  394):    at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime(  394):    at android.os.Looper.loop(Looper.java:123)
E/AndroidRuntime(  394):    at  android.app.ActivityThread.main(ActivityThread.java:4627)
E/AndroidRuntime(  394):    at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime(  394):    at java.lang.reflect.Method.invoke(Method.java:521)
E/AndroidRuntime(  394):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
E/AndroidRuntime(  394):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
E/AndroidRuntime(  394):    at dalvik.system.NativeStart.main(Native Method)
W/ActivityManager(   59):   Force finishing activity io.trigger.forge1979a236289211e2bbe612313d31f141/io.trigger.forge.android.core.ForgeActivity
I/ARMAssembler(   59): generated scanline__00000077:03515104_00000000_00000000 [ 33 ipp] (47 ins) at [0x3446c0:0x34477c] in 5998000 ns
W/ActivityManager(   59): Activity pause timeout for HistoryRecord{43f928a8 io.trigger.forge1979a236289211e2bbe612313d31f141/io.trigger.forge.android.core.ForgeActivity}
I/Process (  394): Sending signal. PID: 394 SIG: 9
I/ActivityManager(   59): Process io.trigger.forge1979a236289211e2bbe612313d31f141 (pid 394) has died.
W/ActivityManager(   59): Scheduling restart of crashed service io.trigger.forge1979a236289211e2bbe612313d31f141/com.parse.PushService in 5000ms
I/WindowManager(   59): WIN DEATH: Window{44002988 io.trigger.forge1979a236289211e2bbe612313d31f141/io.trigger.forge.android.core.ForgeActivity paused=false}
I/ActivityManager(   59): Start proc io.trigger.forge1979a236289211e2bbe612313d31f141 for service io.trigger.forge1979a236289211e2bbe612313d31f141/com.parse.PushService: pid=422 uid=10036 gids={1015, 3003}

有没有人遇到过这个问题。是否存在解决方法或错误?

这在Trigger.io平台的v1.4.34中已修复:。

当您说崩溃时,您的确切意思是什么?你能给我们关于“子视图加载”部分的日志输出吗?如果可能的话,adb logcat输出的相关部分也会很好…我的意思是它会崩溃:)应用程序停止,出现一个对话框,上面写着“对不起!应用程序(process.io.trigger.forge1979a236289211e2bbe612313d31f141)意外停止。请重试“如果您直接打开/users URL上的选项,会发生什么情况?”?您能否在终端中运行adb logcat,并在崩溃发生时使用堆栈跟踪更新您的问题?/在openWithOptions中调用用户可以正常工作,直接从web浏览器调用用户也可以正常工作,并且如上所述,iOS版本没有问题。上面是adb logcat调试。对,明白了-我在这里重新创建了:问题是Android设备上模式视图中的页面更改
D/Forge   (  394): Returned: {"content":null,"callid":"03F62CF7-8B33-425C-ABD5-2BA64565B789","status":"success"}
D/dalvikvm(  394): GC_EXTERNAL_ALLOC freed 349 objects / 24336 bytes in 41ms
I/Forge   (  394): subView load http://10.0.0.70:3000/users
D/AndroidRuntime(  394): Shutting down VM
W/dalvikvm(  394): threadid=1: thread exiting with uncaught exception (group=0x4001d800)
E/AndroidRuntime(  394): FATAL EXCEPTION: main
E/AndroidRuntime(  394): java.lang.NoSuchMethodError: android.webkit.WebView.removeJavascriptInterface
E/AndroidRuntime(  394):    at io.trigger.forge.android.modules.tabs.ModalView$2$3.shouldOverrideUrlLoading(ModalView.java:310)
E/AndroidRuntime(  394):    at android.webkit.CallbackProxy.uiOverrideUrlLoading(CallbackProxy.java:216)
E/AndroidRuntime(  394):    at android.webkit.CallbackProxy.handleMessage(CallbackProxy.java:323)
E/AndroidRuntime(  394):    at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime(  394):    at android.os.Looper.loop(Looper.java:123)
E/AndroidRuntime(  394):    at  android.app.ActivityThread.main(ActivityThread.java:4627)
E/AndroidRuntime(  394):    at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime(  394):    at java.lang.reflect.Method.invoke(Method.java:521)
E/AndroidRuntime(  394):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
E/AndroidRuntime(  394):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
E/AndroidRuntime(  394):    at dalvik.system.NativeStart.main(Native Method)
W/ActivityManager(   59):   Force finishing activity io.trigger.forge1979a236289211e2bbe612313d31f141/io.trigger.forge.android.core.ForgeActivity
I/ARMAssembler(   59): generated scanline__00000077:03515104_00000000_00000000 [ 33 ipp] (47 ins) at [0x3446c0:0x34477c] in 5998000 ns
W/ActivityManager(   59): Activity pause timeout for HistoryRecord{43f928a8 io.trigger.forge1979a236289211e2bbe612313d31f141/io.trigger.forge.android.core.ForgeActivity}
I/Process (  394): Sending signal. PID: 394 SIG: 9
I/ActivityManager(   59): Process io.trigger.forge1979a236289211e2bbe612313d31f141 (pid 394) has died.
W/ActivityManager(   59): Scheduling restart of crashed service io.trigger.forge1979a236289211e2bbe612313d31f141/com.parse.PushService in 5000ms
I/WindowManager(   59): WIN DEATH: Window{44002988 io.trigger.forge1979a236289211e2bbe612313d31f141/io.trigger.forge.android.core.ForgeActivity paused=false}
I/ActivityManager(   59): Start proc io.trigger.forge1979a236289211e2bbe612313d31f141 for service io.trigger.forge1979a236289211e2bbe612313d31f141/com.parse.PushService: pid=422 uid=10036 gids={1015, 3003}