是否可以在Android上以锁定任务/信息亭模式从导航栏中隐藏返回键图标



我正在制作Cosu应用程序,它以锁定任务模式运行。我找到了使导航栏和动作栏完全透明和隐藏的指南,但如果用户从屏幕底部或顶部滑动,它将在底部导航栏上显示后退按钮。

我添加了代码片段,可以快速再次隐藏它。

/* Hides Navigation bar again if user swipes it visible */
@Override
protected void onResume() {
        getWindow().getDecorView().setOnSystemUiVisibilityChangeListener(
                new View.OnSystemUiVisibilityChangeListener() {
                    @Override
                    public void onSystemUiVisibilityChange(int visibility) {
                    getWindow().getDecorView().setSystemUiVisibility(flags);
                    }
                });
    super.onResume();
}

有没有办法使用样式或其他东西实际更改后退按钮图标或将其颜色更改为透明?我试图找出有关此的信息,但我发现使用额外的应用程序来修改后退按钮图像。

我可以使用以下代码禁用后退按钮事件,但不隐藏它的可见性

@Override
public void onBackPressed() {
     // nothing to do here
}

您可以将此依赖项添加到 build.gradle(app)

https://github.com/topjohnwu/libsu

android {
    compileOptions {
        // This library uses Java 8 features, this is required
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
}
dependencies {
    ...
    implementation "com.github.topjohnwu.libsu:core:3.1.1"
    ...
}

之后,将这一行添加到您的build.gradle(project)中:

repositories {
    maven { url 'https://jitpack.io' }
}

然后,您可以使用此函数隐藏导航栏上的所有按钮:

private fun disable backButtonOnLockTaskMode(){
    Shell.enableVerboseLogging = BuildConfig.DEBUG
    Shell.setDefaultBuilder(
        Shell.Builder.create()
            .setFlags(Shell.FLAG_REDIRECT_STDERR)
            .setTimeout(10)
        ) 
    Shell.su("settings put secure sysui_nav_bar "space;space;space"").exec()             
}

另一方面,您可以在命令中更改字符串,但该命令中的成功取决于您的锁定任务模式实现:

  • "空间;空间;空间":无图标。
  • "空格;
  • 后退;空格":仅后退图标。
  • "空格;volume_sub,返回,volume_add;空格":带音量按钮。

希望对您有所帮助!

问候!

不,这是不可能的,因为每个人都可以制作屏幕锁和病毒。您将只能使用自己的Android操作系统版本来执行此操作。

相关内容

  • 没有找到相关文章

最新更新