我正在做:
Toast.makeText(this,"Start Service",Toast.LENGTH_SHORT).show();
在此块中(服务方法)
@Override
public int onStartCommand(){
...
}
让我感到困惑的是,为什么我可以使用服务的上下文运行 Toast
,不应该在活动本身上出现toast?
答案 0 :(得分:1)
onStartCommand()中的“this”是指服务或应用程序上下文?
在Java中,this
始终引用正在运行代码的类的方法中的对象实例。因此,this
的{{1}}中的onStartCommand()
将是Service
。
不应该在活动本身上出现烤面包吗?
Service
不需要活动。
答案 1 :(得分:1)
toast需要运行一个Context。幸运的是,Service是android.content.Context的间接子类。所以你的'this'在你的用例中运行良好。活动也是如此。
https://developer.android.com/reference/android/app/Service.html