主页按钮禁用

发布于 2024-11-17 15:53:01 字数 617 浏览 4 评论 0原文

我确实知道为用户控制 HOME 按钮是一个糟糕的建议。但我正在开发一个用于教育目的的 Android 锁定应用程序。我正在浏览该网站并发现了这个 链接 禁用主页按钮。

@override

public void onAttachedToWindow()
{  
       this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);     
       super.onAttachedToWindow();  
}

目前,我正在使用上面的代码来禁用我的主页按钮,但是我确实注意到,即使我在 onCreate 中有这个按钮,

getWindow.setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);

我也无法删除我的通知栏。 请指教。

I do know that it is ill advice to take control of the HOME button for users. But I'm developing a android lockdown application for educational purposes. I was browsing the site and came upon this link on disabling the home button.

@override

public void onAttachedToWindow()
{  
       this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);     
       super.onAttachedToWindow();  
}

Currently I'm using the above code to disable my home button, however I do notice that even though I have this in my onCreate

getWindow.setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);

I am unable to remove my notification bar remove.
Please advice.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

疏忽 2024-11-24 15:53:01

只需为您的活动使用不同的主题即可。在 Manifest.xml 中,将 Activity 的主题属性设置为 android:theme="@android:style/Theme.NoTitleBar.Fullscreen"

Just use a different theme for your activity. In your Manifest.xml, set the theme attribute of your activity to android:theme="@android:style/Theme.NoTitleBar.Fullscreen"

旧情别恋 2024-11-24 15:53:01

您可以禁用电源按钮!
你可以试试这个:
项目:DisableAllButton

  • 禁用搜索、返回键:
    在“DisableAllButton.java”

    <前><代码>@Override
    公共布尔onKeyDown(int keyCode,KeyEvent事件){
    返回假;
    }

  • 禁用Home键:
    在“DisableAllKey.java”

    <前><代码>@Override
    公共无效 onAttachedToWindow() {
    // TODO 自动生成的方法存根
    this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);
    super.onAttachedToWindow();
    }

  • 禁用电源键:
    在“DisableAllKey.java”

    KeyguardManager keyguardManager = (KeyguardManager) getSystemService(Activity.KEYGUARD_SERVICE);
    KeyguardManager.KeyguardLock 锁 = keyguardManager.newKeyguardLock(KEYGUARD_SERVICE);
    lock.disableKeyguard();
    
  • ;
    
  • 中并设置全屏
    在AndroidManifest中

    
    

完成! :D。

you can disable power button!
you can try this:
Project: DisableAllButton

  • Disable Search, Back key:
    in "DisableAllButton.java"

    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        return false;
    }
    
  • Disable Home key:
    in "DisableAllKey.java"

    @Override
    public void onAttachedToWindow() {
        // TODO Auto-generated method stub
        this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);
        super.onAttachedToWindow();
    }
    
  • Disable Powerkey:
    in "DisableAllKey.java"

    KeyguardManager keyguardManager = (KeyguardManager) getSystemService(Activity.KEYGUARD_SERVICE);
    KeyguardManager.KeyguardLock lock = keyguardManager.newKeyguardLock(KEYGUARD_SERVICE);
    lock.disableKeyguard();
    
  • in AndroidManifest

    <uses-permission android:name="android.permission.DISABLE_KEYGUARD"></uses-permission>
    
  • and set fullscreen
    in AndroidManifest

    <application android:icon="@drawable/icon" android:label="@string/app_name"
    android:theme="@android:style/Theme.NoTitleBar.Fullscreen">
    

done! :D.

殤城〤 2024-11-24 15:53:01

检查Android源代码,View.java

public static final int STATUS_BAR_DISABLE_HOME = 0x00200000;

STATUS_BAR_DISABLE_HOME标志在标准api中隐藏。

我们可以使用 0x00200000 来设置系统 ui 可见性,如:

View decorView = getWindow().getDecorView();
decorView.setSystemUiVisibility(decorView.getSystemUiVisibility()|0x00200000);

但您应该先添加

<uses-permission android:name="android.permission.STATUS_BAR" />

,此权限仅授予系统应用程序

check Android source code, View.java

public static final int STATUS_BAR_DISABLE_HOME = 0x00200000;

STATUS_BAR_DISABLE_HOME flag is hide from the standard api.

we can just use 0x00200000 to set system ui visibility ,as:

View decorView = getWindow().getDecorView();
decorView.setSystemUiVisibility(decorView.getSystemUiVisibility()|0x00200000);

but you should add

<uses-permission android:name="android.permission.STATUS_BAR" />

first, this permission only granted to system apps

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文