我在Service MessengerService上调用bindService。它工作正常。之后,我打电话给startService。
代码与此链接远程信使服务示例部分完全相同 http://developer.android.com/reference/android/app/Service.html 除了我在活动中添加一个startService
这是客户端代码: Intent intnt = new Intent(context,MessengerService.class); intnt.putExtra(“msg”,“从服务到服务器11的活动的字符串”);
bindService(intnt, mConnection, Context.BIND_AUTO_CREATE);
intnt.putExtra("msg", "String from activity to service to handler 22");
startService(intnt);
在服务代码中: 在onStartCommand中,无论我在startService中传递的意图中收到什么消息,我都将它发送回客户端处理程序。
我在行mClients.get(0).send(msg1)中获得索引超出绑定的异常。 mClients是附加到此服务的客户端数组,在绑定过程中存储。
代码与此链接远程信使服务示例部分完全相同 http://developer.android.com/reference/android/app/Service.html 除了我在服务中添加onStartCommand
@Override
public int onStartCommand(Intent intent, int flags, int startId){
String str = intent.getStringExtra("msg");
Message msg1 = Message.obtain(null, MSG_STR_VALUE);
Bundle data = new Bundle();
data.putString("message", str);
msg1.setData(data);
System.out.println(str);
try {
s1.acquire();
} catch (InterruptedException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
try {
mClients.get(0).send(msg1);
} catch (RemoteException e) {
e.printStackTrace();
}
return START_STICKY;
}
答案 0 :(得分:1)
您可以找到问题here的答案。
没有特定的顺序,onStartCommand()和onBind()被称为
我一直在寻找答案,当我跑进你的问题帖子时我很难找到,所以我发布它,因为其他人可能觉得它很有用。
答案 1 :(得分:0)
不管你跑
array[1]
或pattern = "^[[:space:]]*$"
,一旦调用new <- new_tweetsdf[grep(pattern, new_tweetsdf, invert = TRUE)]
,则需要使用startService() -> bindService()
或bindService() -> startService()
停止它。