我有一个应用程序,可以收听广播并发送广播 当应用程序发送广播时,它期望从另一个应用程序返回广播。
我在接收器中捕获广播,然后将内容发送到名为“decode”的常规java类。 在这里,我检查广播的内容,并在mainActivity上调用一个方法来启动另一个活动。
这个mainActivity没有真正的用户界面,所以我在考虑提供服务来取代它。 所以我不是从解码中调用mainActivity,而是创建一个服务并从该服务调用一个方法。
现在,由于我没有使用Android服务的经验,这是一个使用服务的好例子吗? 我在哪里可以找到Android服务的一个很好的例子?
答案 0 :(得分:1)
你没错,现在是时候使用Service
了,因为你永远不应该从Activity
之外调用Activity
方法。我会给你最基本的Service
作为模板,然后你可以随意添加内容:
public class MyService extends Service{
@Override
public IBinder onBind(Intent intent) {
// TODO Auto-generated method stub
return null;
}
@Override
public void onCreate() {
super.onCreate();
Log.i("daim", "MyService has started ...");
startMyMethod();
}
@Override
public void onDestroy() {
super.onDestroy();
Log.e("daim", "MyService has stopped ...");
}
public void startMyMethod(){
// do your work
}
}
现在,为了启动此服务,您调用方法startService
并停止它,调用方法stopService
。现在,如果您想停止服务中的服务,例如当您的工作完成时。您可以在服务方法中调用stopSelf();
。 Google为startService
和stopService
以查看需要哪些参数,以及如果您是否在Activity
内,如何调用它们,这是您可能需要Context
的地方1}}如果你从一个类中调用它。
http://developer.android.com/reference/android/app/Service.html