Android试图让我的应用程序与本地服务进行通信

时间:2011-04-29 14:44:54

标签: android service

我在本地创建了一个服务,并且想知道是否有办法调用它的方法。我正在考虑使用流套接字并让客户端向服务发送消息,但这看起来很有用。 我必须创建服务的代码

public class Welcome extends Activity implements OnClickListener{
    private static final int NOTIFY_ME_ID=1337;
    private Timer timer=new Timer();
    private int count=0;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

         // set up buttons
        View mAppoitment = findViewById(R.id.appoitment);
        mAppoitment.setOnClickListener(this);

    // start background thread
        Log.v("TED:", "Starting thread");
        startService(new Intent(Welcome.this,
                BackgroundService.class));

泰德

2 个答案:

答案 0 :(得分:0)

您可能需要考虑从服务中公开AIDL接口。有关更多详细信息和示例,请参阅此处的文档:http://developer.android.com/guide/developing/tools/aidl.html

另一种选择是让服务注册广播接收器并向其发送意图。

答案 1 :(得分:0)

您可以查看以前的答案:Android: Passing a Service a Handler

信使接口绕过AIDL的复杂性(有点):http://developer.android.com/reference/android/app/Service.html#RemoteMessengerServiceSample

通常我使用了ServiceConnection并传递了一个Handler实例:您可以在http://developer.android.com/reference/android/app/Service.html#LocalServiceSample

查看如何使用ServiceConnection