gpt4 book ai didi

android - 为什么在 cordova WebView 中按下后退按钮会关闭应用程序?

转载 作者:太空狗 更新时间:2023-10-29 13:25:05 25 4
gpt4 key购买 nike

给定两个已初始化并添加到 backstack fragment 中的 fragment (其中一个我在屏幕上看到)。每个 fragment 都有 CordovaWebView 作为 View 。在一个 WebView 中,我在另一个“www.bing.com”中加载了“www.google.com”。现在,如果我按下后退按钮 - 我正在等待,带有“www.bing.com”的 fragment 将从堆栈中弹出,我将在我的设备屏幕上看到谷歌网站。取而代之的是,应用程序立即退出(在很短的时间内我可以看到 google.com,但随后应用程序完全退出)

小部分 Activity :

cordova.getActivity().getFragmentManager()
.beginTransaction()
.replace(R.id.fragment_container, webViewFragmentGoogle)
.addToBackStack(null)
.commit();


cordova.getActivity().getFragmentManager()
.beginTransaction()
.add(R.id.fragment_container, webViewFragmentBing)
.addToBackStack(null)
.commit();

fragment :

public class WebViewFragment extends Fragment {

private String mUrl = "file:///android_asset/www/main.html";
private CordovaWebView mWebView;

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {



View view = inflater.inflate(R.layout.webview_fragment,container, false);

if (view != null)
mWebView = (CordovaWebView)view;


Bundle bundle=getArguments();
String iframeUrl = bundle.getString("iframeUrl");


if (!mUrl.isEmpty())
{
mWebView.loadUrl(iframeUrl);

}



return view;
}


public void goToUrl(String url) {

mWebView.loadUrl(url);

}



@Override
public void onResume() {
super.onResume();

if (mWebView!= null) {
mWebView.handleResume(true, false);
}

}


@Override
public void onPause() {
if (mWebView != null)
{
mWebView.handlePause(true);
}
super.onPause();
}


@Override
public void onDestroy() {
if (mWebView != null)
{
mWebView.handlePause(true);
mWebView.handleDestroy();
}

super.onDestroy();

}


}

最佳答案

发生这种情况是因为 CordovaWebView.onKeyUp() 逻辑 - 它会拦截您的击键并在其上 Hook 一些操作:在这种情况下,操作是:

this.cordova.getActivity().finish();

就我个人而言,我还发现终止我的 Activity 有点麻烦,尤其是在我无法以任何方式配置它的情况下。请查看CordovaWebView messes up with onBackPressed method in android了解一些细节。

关于android - 为什么在 cordova WebView 中按下后退按钮会关闭应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22311829/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com