安卓Google Chrome在锁屏应用后无法启动

13

我有一个锁屏应用,当用户按下解锁电源按钮时,我的活动是第一个显示的。在锁屏应用上我有一个网站链接。当图案解锁被禁用时,Chrome会打开这个网站链接。但是当我启用安全图案后,用户输入完图案后,Chrome应用程序会打开,但网站不会被打开。

已启用图案锁定

MYLOCK-SCREENAPP > 点击链接 > 转到默认锁屏界面,用户输入图案 > Chrome启动但网站未被打开。

已禁用图案锁定

MYLOCK-SCREENAPP > 点击链接 > Chrome启动但网站未被打开。

我使用以下代码来启动该网站。

url="http://(any url)"
Intent i = new Intent(Intent.ACTION_VIEW);
i.setData(Uri.parse(url));
startActivity(i);

希望能得到解决。有专家吗?:)


你能发一些更多的代码吗?如果你展示一下代码是如何实现的,我或许可以提供帮助。我猜测在解锁之间有一些事情发生。当图案锁被禁用时,网站是否打开? - Eugene H
  1. 如果安全锁没有启用,则在Chrome和Opera浏览器中都可以正常工作。
  2. 如果安全锁已启用,点击锁屏应用程序链接会首先显示安全键盘,一旦我解锁后: a. 如果只安装了Chrome浏览器,则无法正常工作。在logcat中,Chrome应用程序记录了它收到了VIEW意图,并且在意图数据中具有正确的URL,但之后没有其他日志。Chrome只打开一个空白标签页。 b. 如果同时安装了Chrome和Opera浏览器,则在任一浏览器中都可以正常工作。
- codaddict
你尝试过使用带有WebChromeClient的WebView吗? - Pavlos
Webview不是解决方案。在锁屏后应该关闭Chrome。 - Ankish Jain
我尝试了以下代码: Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.google.com")); startActivity(browserIntent);并且我已经在Chrome、Opera和UCBrowser上应用了AppLock应用程序,似乎在这三个浏览器上都可以正常工作。 - Chitrang
显示剩余3条评论
2个回答

4

我会按以下方式打开网页:

public void OpenUrl() {         

    private WebView View;
    View = (WebView) WebDialog.findViewById(R.id.ticketline);  
    View.setWebViewClient(new WebConn());
    View.setScrollbarFadingEnabled(true);  
    View.setHorizontalScrollBarEnabled(false);  
    View.getSettings().setJavaScriptEnabled(true);
    View.loadUrl("url to be loaded goes here");

    getActivity().getSupportFragmentManager().beginTransaction().remove(this).commit();
    WebDialog.show();
}

或者你可以尝试以下方法:

getWindow().addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD|WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED); 
Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("url goes here")); 
startActivity(browserIntent);
finish();

希望这能帮到您 :)

我之前尝试过这个。Webview 无法正确呈现网站的所有内容。虽然不是解决上述问题的方法,但是是一个不错的尝试。 - Ankish Jain
是的。问题是,在锁屏后,Chrome无法启动。 - Ankish Jain
嗨@AnkishJain,我修改了答案,给你提供了一个可能可行的替代方案。 - Michele La Ferla
嗨@AnkishJain,如果答案有帮助的话,你能否请接受它呢? - Michele La Ferla
我需要进行测试。我也在研究解决方案。等一下 :)。我认为FLAG_DISMISS_KEYGUARD不是一个好主意。安卓安全锁屏会在后期弹出,我已经尝试过了。 - Ankish Jain
getWindow().addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD|WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED); Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("url goes here")); startActivity(browserIntent); finish(); 在这种情况下,当您的设备有安全锁时,锁屏将再次出现。如果存在安全锁,则应首先提示该锁,然后在解锁后加载Chrome。应用程序可以实现此功能。 - Ankish Jain

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接