2016-11-01 79 views
0

如果我正在编写自己的Android应用程序,我知道如何将它构造为服务,以便它将在后台开始运行。Android:启动任何活动以在后台启动?

但是,有没有办法启动一个现有的应用程序(例如,Play Store中的任何随机.apk),以便它在后台启动,而不会在屏幕上显示?

另外,我愿意启动应用程序,强制它进入后台,并重新显示前一个应用程序的窗口(不管它可能是什么)在前台运行。我不知道如何以编程方式将当前应用程序放置在后台,然后确定以前的应用程序并将其恢复到前台。

我愿意以任何方式做到这一点:通过Java,通过一个或多个命令行工具,通过Tasker插件,通过Xposed模块或其他任何方式。

预先感谢您提供任何文档或任何建议的指针。

+0

“是否有一种方法可以启动现有的应用程序(例如,Play商店中的任何随机.apk),以便它在后台启动,而不用屏幕接管显示?” - 如果您真的在问是否可以从现有应用程序(例如,其启动器活动)开始进行任意活动,而没有该活动接管前台,则答案是否定的。 “我不知道如何以编程方式将当前应用程序置于后台...” - 调用'startActivity()'启动一些其他活动。 – CommonsWare

+0

“..确定以前的应用程序,并将其带回前台” - 出于隐私和安全原因,这在新版Android上不可行。 – CommonsWare

+0

那么,你是说现代版本的Android没有办法找出以前的活动已经占用了屏幕,所以我可以通过startActivity()调用它?甚至没有任何方法可以从命令行查询当前哪个活动处于前台? – HippoMan

回答

0

我发现“dumpsys activity recents”的#0条目给出了当前显示的活动......至少在我的根源Marshmallow设备上。这给了我我需要的东西。