开始,我开始从我的服务下面的代码的活动:最佳替代品从服务
Intent cmActivityIntent = new Intent(getApplicationContext(), CallManagementActivity.class);
cmActivityIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(cmActivityIntent);
在应用程序的清单活动的launchMode被定义为android:launchMode="singleTask"
。
我一直在寻找停止服务的onDestroy()
活动的方法,但我一直没能找到任何可以帮助我的文档。我只找到了一种方法。
我已经看到了检查service的方法,如果使用activity-class-static-property(public static boolean isInstanced
)实例化活动,并且发送另一个意图到FINISH_ACTIVITY
多余的活动(如果是)。然后,在活动的onNewIntent()
上,将检查该标志,并且如果该标志被包括,则该活动将被完成。
这种方法对我来说并不合适,因为意图应该用于开始活动而不是阻止它们。
有人知道如何实现这一点的任何其他方式吗?已获得
广播将工作,与接收器在活动中。或者,该活动可以绑定到该服务,将其传递给一个信使,并且该服务将使用该信使将命令传递给该活动。 – njzk2
'LocalBroadcastManager'或类似'Otto'的事件总线应该能够做到,然后在事件上调用'finish()'。 – EpicPandaForce
@ njzk2你可以发布绑定替代方案作为一个解决方案与示例代码来尝试它,看看它的工作原理? – Storo