【问题标题】:android calling finish on intentandroid调用完成意图
【发布时间】:2010-08-02 06:31:43
【问题描述】:

Android:我通过启动 webview 使用 twitter 身份验证

Intent authIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(authUrl));
startActivity(authIntent);

在成功验证 onNewintent 后,获取调用和控制权返回到我的活动。

问题是控件返回我的活动后 webview 仍然保持打开状态,如果用户按下返回按钮用户可以再次访问该页面,我如何在控件返回我的活动后完成 webview 活动。

我想在“authIntent”上调用完成,我该怎么做?

【问题讨论】:

    标签: android webview android-intent


    【解决方案1】:

    我更喜欢将 webview 启动到自定义对话框中,这样可以完全控制它。这包括使用带有自定义 WebViewClient 的 WebView,其中来自授权的回调在重写的 shouldOverrideUrlLoading 方法中处理。

    对于一个详细的示例,您可以查看 FacebookSDK 以及它如何在对话框中处理授权页面:这里粘贴的代码有点太多了。

    【讨论】:

    • 任何其他通过视图标志关闭意图启动的快速修复?
    • 我不知道(不一定意味着不存在)调用活动完成的方法。您可以在清单中将调用活动的启动模式设置为 singleTask,这样当浏览器再次启动它时它就不会重复。我已经成功地在电话中使用了它,但我不记得它在浏览器和推特上是否按我想要的方式工作。
    猜你喜欢
    • 2018-02-28
    • 1970-01-01
    • 2019-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多