Android,检测其他应用程序何时启动

Android,检测其他应用程序何时启动

我试图开发一个应用程序,防止用户在没有密码的情况下访问指定的应用程序。情况是.。

  1. 用户点击“电子邮件”应用程序(例如)
  2. 我的应用程序检测应用程序的启动
  3. 我的应用程序确认这是“电子邮件”应用程序。
  4. 我的应用程序在顶部打开一个视图,询问密码。
  5. 用户输入密码,如果正确,我的应用程序将消失,将“电子邮件”应用留在顶部。

我可以做剩下的事情,只是第二部分让我感到困惑,在读了很多天的广播意图之后,试着去听“android.int.action.MAIN”等等,在我的试用项目中,我似乎无法检测到除了我的应用程序什么时候启动了。

有人能帮忙吗?我是以正确的方式去寻找新的应用程序来广播一个启动的意图,还是应该阅读系统日志中的新意图,或者用本机代码做些什么?

任何指点都会有帮助,即使你不能完全回答,我也能做更多的研究。非常感谢。伊恩


繁星淼淼
浏览 494回答 3
3回答

子衿沉夜

一种巧妙的方法是有一个带有检查时间循环的服务。ActivityManager&nbsp;am&nbsp;=&nbsp;(ActivityManager)getSystemService(Context.ACTIVITY_SERVICE); List<ActivityManager.RunningAppProcessInfo>&nbsp;runningAppProcessInfo&nbsp;=&nbsp;am.getRunningAppProcesses();你浏览一下这个列表,看看手机上运行的是什么。现在您可以用ID和processName来标识它们,因此对于标准活动来说,这对于自定义活动来说很容易-除非您阻止它们,否则很难区分它们.注:这不是屏幕上的实际内容的列表,只是一个正在运行的列表.可能会使你的目标无效,但至少你会知道什么时候开始运行。即使是在背景中,它也会继续出现在这个列表中。对于密码这件事,你可以开始你的活动,当你发现一个应用程序,保护或其他什么。

MMMHUHU

我认为并希望这是不可能的。请考虑这种功能被恶意软件滥用的可能性有多大。您可以收听针对您的意图,以及广播的意图,但是应用程序的启动不应该是广播事件。你也许能做的是更换发射器..如果用户同意的话。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Android