我想在每次打开应用程序时执行一段代码(例如,显示Toast)。到目前为止,我已经成功地通过将代码放入扩展Application的MyApp.java文件来启动应用程序。
但是,如果我按下主屏幕或退出应用程序然后进入该应用程序,则该消息不会重新出现。它只在我重新启动应用程序时才会这样做。知道怎么做吗?
编辑: 基本上即时通知我询问如何在每次将整个APP带到前台时执行代码(这可以是第一次打开,在使用另一个应用程序之后,用户退出应用程序之后等)。我将在哪里放置Resume代码?它不会出现在特定的活动中,是因为我希望它在整个应用程序出现在前台时应用,而不仅仅是特定的活动。
答案 0 :(得分:0)
您可以尝试在您的活动的@ Override-d onResume()方法中编写该代码。
答案 1 :(得分:0)
唯一的方法是 确定哪个应用程序当前处于前台 。遵循此讨论以获取最佳方法的想法。
[Determining the current foreground application from a background task or service
假设,如果函数名称为“ getCurrentForgroundApp()”, 您需要一个服务来执行getCurrentForgroundApp();。每秒
(1秒间隔取决于您的目的,可以更低或更高)。
现在,您可以每秒识别出哪个应用程序在前台运行。 因此,请检查您的应用程序是否正在运行。如果为true,则执行烤面包或所需的代码。
这是每当出现在前台的应用程序锁定器应用程序在锁定屏幕上显示锁定屏幕的方式。
答案 2 :(得分:-1)
您必须使用onResume回调:
Example of use from previous SO question
在活动类中:
@Override
protected void onResume() {
super.onResume();
//your code here
}