android - 锁屏后无法打开网址

标签 android

我在浏览器中打开url的代码是

private void openBrowserUrl(String url) {
    Intent i = new Intent(Intent.ACTION_VIEW);
    System.out.println("============Url==================" + url);

    i.setData(Uri.parse(url));
    startActivity(i);
    unlock(UNLOCK_TO_HOME);
}

当没有模式锁定时,以上工作正常。

但是当我尝试在模式锁定后打开浏览器时,url 值仍然为空。

我的应用程序中有自定义锁屏。当手机被锁定后,我尝试解锁手机,那时我的应用程序打开了自定义锁屏。并且我已经编写了这段代码。我得到了 url 值,它成功地传递给了浏览器。

但是,我尝试使用模式锁(android 的默认锁定系统)进行上述过程

那么流程就是

自定义锁屏-->打开url代码(获取url值)-->默认图案锁-->浏览器无url值。

在上面的流程中,当存在模式锁定时,浏览器无法获取我传递的 url。

最佳答案

此问题发生在 api > 21. KEYGUARD 中有一些变化,解锁屏幕后有某种延迟或某种使 Intent 不 react 的东西,使用标志购买它应该延迟 Intent 并使其发挥作用 这里的代码应该可以解决问题。

       getActivity().getWindow().addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD|WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED);
        Intent i = new Intent(Intent.ACTION_VIEW);
        i.setData(Uri.parse("your url"));
        i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        getActivity().startActivity(i);

关于android - 锁屏后无法打开网址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26141013/

相关文章:

android - ScaleAnimation Android Api 级别 8

java - 缓存可缩放网页图像

android - 在多窗口模式下,窗口高度不包括状态栏高度

android - setVisibility(GONE) View 变得不可见但仍占用空间

java - 如何将 EditText 框输入限制为小数点后两个字符?

android - Camera2 在一个捕获 session 中拍摄多张图像

java - Android Studio Sdk更新失败

android - 我的应用程序的minSdkVersion为14,targetSdkVersion为21,但Google Play判断它仅支持Android 4.0〜4.4

android - 使用 Jetpack Compose 导航时无法创建 View 模型实例

android - 返回时如何在android中获取输入数据