当前位置: 首页 > 知识库问答 >
问题:

Mac-如何以编程方式隐藏NSApplication ationActivationPolcyAccessory或LSUIElement应用程序?

贲高寒
2023-03-14

我正在写一个基于Swift的可可应用程序。这是一个单一的窗口应用程序,类似于聚光灯/QuickSilver/Alfred。它被设置为NSApplication ationActivationPolcyAccessory(docs)(尽管我已经尝试了使用LSUIElement做同样的事情,这是等效的)。它通过全局热键激活。

一切正常,只是当它处于活动状态时,我无法使用NSRunningApplication隐藏应用程序。currentApplication()。隐藏()

hide方法的文档中说:“如果应用程序已经退出,或者属于无法隐藏的类型,则此值的属性将为NO。”(强调我的),我得到了一个NO(虽然我实际上使用的是Swift,所以我得到了false)。

我可以理解为什么一个nsapplicationactivationpolicyimproved应用程序不能被隐藏,因为它从来都不处于活动状态,但让我感到困惑的是nsapplicationactivationpolicyaccomainment也会出现这种情况。

我尝试了myWindow。医嘱输出(自我) ,但这只会隐藏窗口,而不会隐藏我的应用程序并将焦点返回到上一个应用程序。

我确实存储了对以前活动的应用程序的引用,因此如果需要,我可以再次手动激活该应用程序,但我希望有一种更干净的方法来实现这一点。


共有2个答案

蒯慈
2023-03-14

手动解决方案是存储对以前活动的NSRunningApplication实例(以下称为previouslyActiveApplication)的引用,然后在您想停用nsapplicationactivationpolicyaccomployment应用程序时将其激活,如下所示:

previouslyActiveApplication!.activateWithOptions(NSApplicationActivationOptions.ActivateIgnoringOtherApps);
朱越
2023-03-14

使用NSApplication.sharedApplication()。通常情况下,应用程序对象(NSApplication实例)的地址,而不是在当前应用程序上操作的NSRunningApplication实例。

 类似资料:
  • 问题内容: 在我的应用程序中,我彼此之间有2 的权利。通过菜单选项,我希望能够使最下面的一个消失,并使最上面的一个消失。 问题是,我不知道如何在Java中执行此操作。 它不必设置动画,我想在时隐藏另一个活动(菜单)的返回内容。菜单上设置了一个我要签入的菜单,并根据其值确定是否需要隐藏或显示底部: 谁能给我一个提示或链接,告诉我该怎么做? 问题答案: 如果要从布局中删除它,可以致电。 或者,如果您只

  • 我正在尝试制作一个应用程序,该应用程序将以一定的间隔隐藏其他窗口/应用程序,但我一直坚持使用NSWorkspace和NSRunningApplication类隐藏全屏应用程序窗口。 有没有办法使用公共API以编程方式退出全屏模式?如果没有,我需要查看哪些私有API来实现此任务?

  • 问题内容: 首先,我已经看到了该线程。我尝试了那里给出的可接受的方法。 我的应用程序中有两个屏幕。 第一个有2个EditText,一个是用户名,另一个是密码 第二个有一个ListView和一个EditText-过滤listView 在我的第一个屏幕中,我希望用户名EditText专注于启动,并且Keyboard应该可见。这是我的实现(通过删除不必要的/不相关的代码进行简化)。 app_login.

  • 正如问题所说,当用户点击时,我需要隐藏状态导航栏。到目前为止,导航栏很简单。在状态栏上找不到同样的方法。 对了,试过了 但还没有运气

  • 在Android中,每个子类都有一个方法,允许您修改对象的可见性 设置可见性有3个选项: 可见:呈现布局内部可见的 Flutter中的小部件是否有与上述相同的功能? 快速参考:https://developer.android.com/reference/android/view/View.html#attr_android:visibility

  • 本文向大家介绍如何以编程方式“重启” iOS应用程序?,包括了如何以编程方式“重启” iOS应用程序?的使用技巧和注意事项,需要的朋友参考一下 无论如何,您都无法重启iOS应用程序,即使您能够使用某些私有api,您的应用程序也将被Apple拒绝,并且不会被视为App Store版本。