Android: не удается запустить исключение службы? - PullRequest
0 голосов
/ 27 апреля 2011

Моя активность находится в "com.android.task", а сервис и связанные файлы находятся в "com.android.task.utilities.service". В своей деятельности я называю свою службу следующим методом:

    private void bindTunManagerService(int flags) {
    TunnelManagerService.setParentActivity(this);
    if (tunManagerServiceConnection==null) {
        tunManagerServiceConnection = new TunnelManagerServiceConnection();
        Intent i = new Intent();
        i.setClassName( "com.android.task.utilities.service", "com.android.task.utilities.service.TunnelManagerService" );
        //Log.d( TAG, "startService()" );
        //startService(i);
        tunManagerServiceStarted = bindService( i, tunManagerServiceConnection, flags);   // LINE NO 575
        Log.d(TAG, "bindService()" );
    } else {
        Toast.makeText(this, "Cannot bind - service already bound", Toast.LENGTH_SHORT).show();
    }
}

      // CALL TO THE METHOD 
bindTunManagerService(Context.BIND_AUTO_CREATE);

В моем файле манифеста я добавил:

<service android:name=".utilities.service.TunnelManagerService"></service>

Я получаю исключение:

04-27 15:44:39.143: WARN/ActivityManager(60): Unable to start service Intent { cmp=com.android.task.utilities.service/.TunnelManagerService }: not found

04-27 15: 44: 39.152: ОТЛАДКА / MyActivity: (517): bindService ()

И при закрытии действия я получаю исключение:

Activity .... has leaked ServiceConnection com.android.task.MyActivity$TunnelManagerServiceConnection that was originally bound here

..... bindTunManagerService (строка 575) ...... 04-27 15: 45: 14.532: WARN / ActivityManager (60): не удалось выполнить привязку: не удалось найти соединение для android.os.BinderProxy@4074f160

Я посмотрел на вопросы, заданные относительно того же самого, я обнаружил, что их ответы уже выполнены мной или не применимы для моего случая.

ОБНОВЛЕНИЕ: Почему я все еще получаю «Невозможно запустить службу Намерение {..} не найдено ??? Java-файл aidl также генерируется в папке gen. : http://developer.android.com/guide/developing/tools/aidl.html Все остальное было обработано, как показано, кроме класса SErviceConnection, который также сделал, как показано; все же я получаю ту же ошибку. Я попытался запустить его с помощью startService (), и служба запущена. Но с bindService это не работает - просто получите сообщение не найден. Что может быть причиной этого?

Любые телефоны доверия !!!!!! Пожалуйста, теперь нужно это сильно. Потратили больше суток на то, чтобы понять, но безуспешно.

Любая идея, почему эта ошибка и как ее решить. Любая помощь высоко ценится.

Спасибо

1 Ответ

1 голос
/ 27 апреля 2011

отмените привязку вашего сервиса в onPause () или другом месте, которое имеет смысл в контексте вашей активности.

unbindService(tunManagerServiceConnection);
...