我在本地创建了一个服务,并且想知道是否有办法调用它的方法。我正在考虑使用流套接字并让客户端向服务发送消息,但这看起来很有用。 我必须创建服务的代码
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));
泰德
答案 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