有以下任务:
有第一个 Activity (例如“Activity A”)和第二个 Activity (“Activity B”)。还有一些服务(只是“服务”)用于从我的服务器捕获通知。我想实现以下算法:
- 用户正在进行“Activity A”或“Activity B”
- “服务”从我的服务器捕获一些通知
- 如果用户正在进行“Activity A”,那么服务应该在通知栏上创建通知;如果用户已经在“Activity B”上,该服务应该只重新创建“Activity B”而不创建通知。
- 如果通知已创建,用户可以点击它并转到“Activity B”
我已经完成了没有第三步的所有步骤,因为我不知道如何获得当前 Activity 。请告诉我,有什么方法可以检测当前的 Activity 吗?谢谢。
最佳答案
没有“合法”的方式来获取用户正在进行的 Activity
。
你总是可以做一个黑客:
- 在您的
ActivityB
类中声明一个static boolean sVisible
成员 - 在
onStart()
中,将该标志设置为true
- 在
onStop()
中,将该标志设置为false
- 在您的
服务
中检查if(ActivityB.sVisible)
关于java - 通过接收通知重新创建 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18673544/