这是一个使用服务的好用例吗?

时间:2012-10-09 10:18:43

标签: android android-service

我有一个应用程序,可以收听广播并发送广播 当应用程序发送广播时,它期望从另一个应用程序返回广播。

我在接收器中捕获广播,然后将内容发送到名为“decode”的常规java类。 在这里,我检查广播的内容,并在mainActivity上调用一个方法来启动另一个活动。

这个mainActivity没有真正的用户界面,所以我在考虑提供服务来取代它。   所以我不是从解码中调用mainActivity,而是创建一个服务并从该服务调用一个方法。

现在,由于我没有使用Android服务的经验,这是一个使用服务的好例子吗? 我在哪里可以找到Android服务的一个很好的例子?

1 个答案:

答案 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为startServicestopService以查看需要哪些参数,以及如果您是否在Activity内,如何调用它们,这是您可能需要Context的地方1}}如果你从一个类中调用它。

http://developer.android.com/reference/android/app/Service.html