为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

繁星淼淼 2019-06-19 11:04:11
Android,检测其他应用程序何时启动我试图开发一个应用程序,防止用户在没有密码的情况下访问指定的应用程序。情况是.。用户点击“电子邮件”应用程序(例如)我的应用程序检测应用程序的启动我的应用程序确认这是“电子邮件”应用程序。我的应用程序在顶部打开一个视图,询问密码。用户输入密码,如果正确,我的应用程序将消失,将“电子邮件”应用留在顶部。我可以做剩下的事情,只是第二部分让我感到困惑,在读了很多天的广播意图之后,试着去听“android.int.action.MAIN”等等,在我的试用项目中,我似乎无法检测到除了我的应用程序什么时候启动了。有人能帮忙吗?我是以正确的方式去寻找新的应用程序来广播一个启动的意图,还是应该阅读系统日志中的新意图,或者用本机代码做些什么?任何指点都会有帮助,即使你不能完全回答,我也能做更多的研究。非常感谢。伊恩
查看完整描述

3 回答

?
子衿沉夜

TA贡献1828条经验 获得超3个赞

一种巧妙的方法是有一个带有检查时间循环的服务。

ActivityManager am = (ActivityManager)getSystemService(Context.ACTIVITY_SERVICE);
List<ActivityManager.RunningAppProcessInfo> runningAppProcessInfo = am.getRunningAppProcesses();

你浏览一下这个列表,看看手机上运行的是什么。现在您可以用ID和processName来标识它们,因此对于标准活动来说,这对于自定义活动来说很容易-除非您阻止它们,否则很难区分它们.

注:这不是屏幕上的实际内容的列表,只是一个正在运行的列表.可能会使你的目标无效,但至少你会知道什么时候开始运行。即使是在背景中,它也会继续出现在这个列表中。

对于密码这件事,你可以开始你的活动,当你发现一个应用程序,保护或其他什么。


查看完整回答
反对 回复 2019-06-19
?
MMMHUHU

TA贡献1834条经验 获得超8个赞

我认为并希望这是不可能的。请考虑这种功能被恶意软件滥用的可能性有多大。您可以收听针对您的意图,以及广播的意图,但是应用程序的启动不应该是广播事件。

你也许能做的是更换发射器..如果用户同意的话。


查看完整回答
反对 回复 2019-06-19
  • 3 回答
  • 0 关注
  • 493 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信