gpt4 book ai didi

android - 如何禁用 Android 启动器应用程序的 HOME 键

转载 作者:行者123 更新时间:2023-11-30 03:12:28 26 4
gpt4 key购买 nike

是否可以隐藏/禁用屏幕锁定应用程序的设备主页键。我厌倦了创建一个示例屏幕锁定应用程序,我做了以下测试过程,

  1. 设备屏幕关闭
  2. 点击搜索按钮 - 将出现锁定屏幕,但不会发生任何事情
  3. 点击后退按钮 - 锁定屏幕将出现,但不会发生任何事情
  4. 点击菜单按钮 - 将出现锁定屏幕,但不会发生任何事情
  5. 点击主页按钮 - 锁定屏幕将被移除并重定向到设备主页。

在我的manifest.xml中是,

<activity
android:name=".SampleLock"
android:excludeFromRecents="true"
android:label="@string/app_name"
android:launchMode="singleInstance"
android:persistent="true"
android:screenOrientation="portrait"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.HOME" />
<category android:name="android.intent.category.DEFAULT" />
<!-- <category android:name="android.intent.category.MONKEY" /> -->
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>

伙计们有解决这个问题的想法吗?

最佳答案

要禁用主页按钮,只需在您的 Manifest.xml 中添加此权限:

< 使用权限 android:name="android.permission.GET_TASKS"/>

要禁用“最近”按钮,请将此代码添加到您的主要 Activity 中:

@Override 
public void onWindowFocusChanged(boolean hasFocus) {
super.onWindowFocusChanged(hasFocus);
if (!hasFocus) {
windowCloseHandler.post(windowCloserRunnable);
}
}
private void toggleRecents() {
Intent closeRecents = new Intent("com.android.systemui.recent.action.TOGGLE_RECENTS");
closeRecents.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS);
ComponentName recents = new ComponentName("com.android.systemui", "com.android.systemui.recent.RecentsActivity");
closeRecents.setComponent(recents);
this.startActivity(closeRecents);
}
private Handler windowCloseHandler = new Handler();
private Runnable windowCloserRunnable = new Runnable() {@Override public void run() {
ActivityManager am = (ActivityManager) getApplicationContext().getSystemService(Context.ACTIVITY_SERVICE);
ComponentName cn = am.getRunningTasks(1).get(0).topActivity;
if (cn != null && cn.getClassName().equals("com.android.systemui.recent.RecentsActivity")) {
toggleRecents();
}
}
};

关于android - 如何禁用 Android 启动器应用程序的 HOME 键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20718717/

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