首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CopyBackForwardList的CustomWebViewRenderer DownloadManager问题

CopyBackForwardList的CustomWebViewRenderer DownloadManager问题
EN

Stack Overflow用户
提问于 2019-11-30 00:01:23
回答 2查看 122关注 0票数 4

我还在学习安卓,我正在用这个recommendation创建一个混合应用。一切正常,但当我下载完一个文件我不能返回,我试图使用copyBackForwardList方法,但我不确定如何将Xamarin.Forms.WebView转换为Android.Webkit.WebView以使用CopyBackForwardList和使用其他recommendation

我正在尝试这样的东西

代码语言:javascript
复制
    protected override bool OnBackButtonPressed()
    {
        base.OnBackButtonPressed();

        String historyUrl = "";
        int i = 0;
        WebBackForwardList mWebBackForwardList = (Android.Webkit.WebView)browser;
        if (mWebBackForwardList.getCurrentIndex() > 0)
        {
            while (i < mWebBackForwardList.getCurrentIndex())
            {
                historyUrl = mWebBackForwardList.getItemAtIndex(mWebBackForwardList.getCurrentIndex() - ++i).getUrl();
                if (historyUrl != null)
                {
                    browser.Source = historyUrl;
                    Content = browser;
                }
            }
        }


        return true;
    }
EN

回答 2

Stack Overflow用户

发布于 2019-11-30 02:38:35

如果您想访问本机控件,可以通过自定义渲染器https://docs.microsoft.com/en-us/xamarin/xamarin-forms/app-fundamentals/custom-renderer/来完成

票数 0
EN

Stack Overflow用户

发布于 2019-12-03 13:23:06

你有没有想过这可能是一个与Android的活动生命周期相关的问题?一旦您在下载文件后提到了问题,并且从您提供的参考资料中-通过下载文件,包含WebView的活动就不再是前台活动。因此,我建议使用以下代码(很抱歉在这里使用Java ):

代码语言:javascript
复制
// ... 

private WebView browser;
private Bundle bundle; 

@Override
public void onCreate(final Bundle savedInstanceState)
{
    // ...

    if (bundle != null)
    {
        browser.restoreState(bundle);
    }
    else
    {
        browser.loadUrl("https://stackoverflow.com"); // e.g.
    }

    // ...    

}

@Override
public void onPause()
{
    super.onPause();
    bundle = new Bundle();
    browser.saveState(bundle);

}

// ...

此代码的用途是在主活动退出前台时,通过将其状态保存在WebView (捆绑)对象中来保存捆绑对象(浏览器)状态。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59107967

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档