首先,我给你一个简短的例子来解决我的问题。请记住,我的应用程序所需的行为仅供我自己使用。
假设我有一个包含一个活动和一些片段的应用程序。这个应用程序通过一个静态广播接收器启动,其意图是 ACTION_POWER_CONNECTED。到目前为止,我的实现一切都很好。
但是有一个行为不端,我不知道如何正确解决。
如果应用程序正在运行,并且我再次关闭并打开我的 USB,将创建我的活动的新的第二个实例,而第一个仍在运行。只是为了说清楚:如果我按下后退按钮,第二个按钮就会消失,第一个实例会显示他的 UI。
我正在寻找一种方法来重新启动我的应用程序(如果它已经运行)并在它没有运行时启动它。无需为任何类型的重用而保存数据。
我尝试了一些与标志 FLAG_ACTIVITY_NEW_TASK、FLAG_ACTIVITY_BROUGHT_TO_FRONT 和 FLAG_ACTIVITY_CLEAR_TOP 的组合。但我认为这些对我来说是错误的。接下来的尝试是将manifast中的Activity设置为singleInstance,以确保没有第二个实例。根本没有取得很大的成功。
谁能给我一个例子来解决我的问题,比如我必须使用哪些标志?