Я вызываю bindService на службе MessengerService. Он работает нормально. После этого я вызываю startService.Что произойдет, если я вызову startService после вызова bindService в классе службы?
код точно так же, как эта ссылка Remote службы мессенджер пример раздела http://developer.android.com/reference/android/app/Service.html за исключением добавить StartService активности
Это код клиента: Намерение intnt = новый Intent (контекст, MessengerService.class); intnt.putExtra ("msg", "String от активности до обслуживания обработчику 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 - это массив клиентов, подключенных к этой службе и хранящихся во время процесса привязки.
код точно так же, как эта ссылка Remote служба мессенджера пример раздела 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;
}
Вы проверили, добавлен ли какой-либо объект в mClients? – bogdan