我已经实现了一项服务,可以在我的应用程序和谷歌文档之间进行异步同步。我希望在同步完成后更新我的应用程序的顶级活动。但是,由于该服务,应用程序可能处于未知状态。是否有办法制作顶级活动,无论可能是什么,都可以从服务中的asynchtask重新创建自己。
答案 0 :(得分:2)
在您的服务中,只需致电startActivity(new Intent(this, TopLevelActivity.class))
即可。这将启动TopLevelActivity(如果它尚未运行),或者调用TopLevelActivity的onNewIntent()
方法(如果它已在运行),并将其置于顶部。如果您想收到通知,可以覆盖onNewIntent()
并捕获意图。
答案 1 :(得分:2)
我认为,正确的方法是使用AIDL使用远程接口: https://developer.android.com/guide/components/aidl.html
您创建一个带有界面的简单*.aidl
文件,Android工具将为您生成Interface类。它将允许您注册回调方法。比抛出startActivity来回更清洁。
答案 2 :(得分:2)