我正在开发一款跟踪应用程序,它可以在后台和前景中进行操作。它在前台工作得很好但是当用户从堆栈中杀死它时它就崩溃了。因为我有一些方法调用从活动到我的服务。任何人告诉我当app从堆栈中杀死时我如何调用从活动到服务的方法?我很长一段时间都坚持这个但却无法找到任何解决方案。
这是我从活动到我服务的方法。
class TimeDisplayTimerTask extends TimerTask {
@Override
public void run() {
// run on another thread
mHandler.post(new Runnable() {
@Override
public void run() {
MyActivity.instance.myfunction();
}
});
}
}
答案 0 :(得分:1)
您无法从Activity
调用Service
中的方法,因为Activity
的实例可能不再存在。
更好的方法是让Service
发送广播Intent
,Activity
可以监听。如果Activity
消失,则不会发生任何事情。