草庐IT

Android:前台服务与唤醒锁

我是Android的新手,所以我问的问题可能看起来很明显(尽管我已经阅读了所有类似标题的问题,并且进行了广泛的搜索)。我需要长时间连续监控加速度计。建议采用两种方法:1)获取部分唤醒锁,该锁在加速度计被监控的整个过程中保持;和2)在前台服务中监控加速度计。第一种方法似乎会消耗大量电池电量。第二种方法应该导致服务很少被杀死,但我不确定“很少”是什么意思。应该使用哪种方法,是否有我应该考虑的替代方法? 最佳答案 持有WakeLock和前台Service并没有真正的关系,不应该比较哪个方向最好。Android操作系统旨在根据多种因素交换进

android - 在 Activity 可见时隐藏前台服务的通知

他们是将服务作为前台服务启动并在Activity可见时隐藏通知的方法吗?考虑一个音乐播放器,当应用程序打开时,您不需要通知(即按钮),但只要音乐播放器在后台,就应该显示通知。我知道,如果我不在前台运行我的服务,该怎么做...但是在前台运行时,服务本身需要通知并显示它,我无法自己管理通知。..我该如何解决这个问题? 最佳答案 你可以这样做。此方法的一个先决条件是,您的Activity必须绑定(bind)服务。首先你启动服务前台。privateNotificationmNotification;publicvoidonCreate(){

android - 是否可以在具有 IMPORTANCE_MIN 的通知 channel 中放置前台服务通知?

我目前正致力于将应用程序过渡到AndroidO,并且我目前正致力于通知channel。我用不同的importancelevels制作了不同的channel由于该应用程序有一个前台服务必须一直运行,直到我们过渡到一个新的架构(更多面向推送),我考虑将该通知放在一个channel中,其重要性设置为IMPORTANCE_MIN,所以它就在那里,但不会打扰用户,也不会在状态栏中放置图标。但是,当我这样做并将我的应用程序置于后台(使用“主页”或“后退”按钮)时,我会收到一条Android系统通知,告诉我我的应用程序正在后台运行,如下所示:如果我更改我的channel并使其使用IMPORTANCE

android - 除了请求许可外,如何在不干扰当前前台进程的情况下获取 MediaProjectionManager?

问题:我有一个屏幕截图应用程序,它使用float覆盖服务进行控制,并使用屏幕转换API媒体项目管理器来访问屏幕。有时,当设备内存不足时,Android会重新启动服务,而我会丢失媒体投影。我所知道的重新获取新媒体投影的唯一方法是重新打开请求权限的Activity,这将结束,除了一个问题。某些应用程序,尤其是游戏,似乎会在失去前台进程、暂停或以其他方式重置时进行监听。这很烦人。这是我理想中的场景。服务打开,如果用户在权限请求对话框中选择了“选中不要再问我”,它会以不干扰当前前台Activity的方式获取媒体投影。如何在不打扰当前前台进程的情况下获取媒体投影管理器?是否有办法从直接服务获取媒

windows - 从后台程序在前台打开程序

我有一个只在后台运行的小程序(没有任何窗口)。它监视按键,并在满足某些要求时打开特定程序。问题是该程序的窗口不会在前台打开-它会在当前事件的窗口后面打开。如何强制它在前台打开?我正在使用VisualBasic.NET(.NET框架4.5),这是我当前的代码:DimtempAsNewProcesstemp=Process.Start("C:\cygwin\bin\mintty.exe","-")temp.WaitForInputIdle(10000) 最佳答案 试试这个(在C#中):取自thissite.internalclassPr

windows - 如何在不将 chrome 窗口置于前台的情况下从 cmd (Windows) 打开 chrome 中的链接?

例如,如果我在vscode编辑器中单击一个链接,它不会干扰我当前正在做的事情-打开它而不激活chrome窗口。我想使用以下之一从Windows的命令行实现相同的目的:cmd、msysbash、powershell。有一个类似的question回答但没有前台要求。 最佳答案 还没有尝试过,但您可以使用PowerShell尝试:Start-Process-WindowStyleHidden"chrome.exe""www.google.com"或Start-Process-WindowStyleMinimized"chrome.exe"

windows - 在 Windows 的 Powershell 中使前台成为由 Start-Job 调用的后台作业

在Bash中,可以通过在命令末尾放置&来在后台启Action业。也可以使用fg命令将该作业带到前台,如果需要的话可以使用适当的作业ID。在Powershell中,我理解&等效于Start-Job命令。但是,我无法找到有关执行fg等效方法的任何信息。有没有办法做到这一点?请注意,我不是在询问获取输出。相反,我的问题如下。有没有办法将正在运行的作业带到前台,控制Powershell窗口?需要这种功能的主要原因是我可以将键/字符串发送到正在运行的作业。使用Windows8.1专业版。 最佳答案 我一直在挑灯夜战,在Google搜索之后我的

php - 使用 PHP 连接 SSH 时,CMD 启动或 PSExec 在前台打开交互式应用程序

我正在通过连接到SSH的远程PHP脚本运行以下命令:cmd/Cstart""/MAX/b"C:\Windows\System32\notepad.exe"该进程确实会启动,但它会保留在后台并且不会在远程桌面上完全打开。有没有办法让它以交互方式工作(比如PSExec如何具有-i标志)?编辑:因此PHP使用ssh2_connect连接到SSH,然后按以下方式使用ssh2_exec:if(!($stream=ssh2_exec($con,$shcom))){其中$shcom是传递给SSH的命令,例如:$shcom='cmd.exe/Cstart""/MAX"%SystemRoot%\Syst

c# - 如何在启动时在前台运行 UWP 应用程序?

我正在尝试解决与启动时在顶部运行UWP应用相关的问题(使用Winodws10)。我已经将应用程序放在自动运行应用程序中,但它始终在后台运行(应用程序已打开,如果我单击应用程序栏中的图标,我可以看到它)。不幸的是,我希望它在顶部自动运行。我该如何解决? 最佳答案 @XavierXie我们也面临着同样的问题,我们正在尝试构建的是一台Windows10IoT机器,它可以在机器启动时自动全屏显示来自服务器的最新内容/重新开始。尝试使用StartupTask,但它只会在Windows启动时最小化/暂停应用程序。目前唯一的解决方法是将已安装的U

windows - 如何确定进程是否是当前事件/前台应用程序

我希望能够查询一些函数并给它一个processID或processName-然后它应该返回true或false是否该进程在前景与否。因此,对于Firefox的查询将返回true(因为现在我在FireFox中,输入这个)并且其他所有内容都应该返回false。这是否适用于每种类型的应用程序(.net、java/swing、纯c++/win32-ui)?此问题仅适用于Windows。 最佳答案 GetForegroundWindow和GetWindowThreadProcessId应该让你得到这些信息。即,如果您知道pid,只需根据如下函