4

我正在尝试在我的应用程序中与LinkedIn API集成。其中大部分工作正常,但有1个问题。这是如何工作的:为什么FLAG_ACTIVITY_NO_HISTORY不能在设备上工作,但在仿真器上工作?

  1. 从我的应用程序设置窗口中,用户点击连接LinkedIn按钮,会弹出该用户必须输入他们的LinkedIn凭据的Web视图。 Web视图启动方式如下:

    Intent i = new Intent(Intent.ACTION_VIEW,Uri.parse(liToken.getAuthorizationUrl())); 
    i.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY); 
    startActivity(i); 
    

以上是通过的AsyncTask类实际上做。

  1. 从LinkedIn成功验证后,Web视图将消失,用户回来到我的应用程序设置页面。这里用户有2个选项。他可以点击保存或点击取消按钮。保存按钮保存设置,然后将它们带到主要活动,取消不保存任何内容,然后将它们带到主要活动。

  2. 问题是,这一切在4.2.2模拟器上都能正常工作,但在运行4.2.2的谷歌LG nexus4设备上,点击保存或取消按钮带回LinkedIn webview,这不是期望的行为。

我想指出的一件事是,模拟器使用默认的Android浏览器,而nexus4使用铬?这是问题吗? 我是否需要在意图上设置其他标志?

任何帮助/指针将不胜感激。

--su

+0

嗨,你能工作吗?我使用相同的代码,但它始终返回到Web浏览器。 thx –

+0

看看下面的答案。这对我有效。 –

回答

2

您是否尝试过清理项目和重建?从设备上删除应用程序并重新安装?

+0

拉杰,就是这样!看起来像是当我将'FLAG_ACTIVITY_CLEAR_TOP'标志添加到意图之后,在我的nexus4设备上部署我的应用程序时,出于某种原因,新的位未反映在我正在运行的应用程序中。在我从手机中删除应用程序并重新安装后,所有功能都以我想要的方式运行。非常感谢!我希望别人能够从中学习,为自己节约无数的时间。 –

相关问题