Android не может вызывать методы в локальной службе, и пример кода Googles не будет компилироваться - PullRequest
1 голос
/ 02 мая 2011

Я пытаюсь сделать так, чтобы клиент вызывал функции в сервисе locakl.Я основал следующую документацию на Google.Который сказал, что местная служба может использовать интерфейс Bind, URL на Google Android с документацией и примером кода, который я использовал http://developer.android.com/guide/topics/fundamentals/bound-services.html#Creating Но я не могу получить пример кода для этой службы, чтобы скомпилировать !.Где код имеет

public class LocalBinder extends Binder {

        // error here //    LocalService getService() {
                // Return this instance of LocalService so clients can call public methods
           // error hear //     return LocalService.this;
            }

Я получаю сообщение об ошибке, говорящее, что LocalService не может быть преобразован в тип.Я думал, что мне не хватает импорта.Я попытался google android localservice Я получил еще один код linbk to samople в Google, чтобы сделать то же самое http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/app/LocalService.html, и у него была та же ошибка !!!!

Полный код

import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.app.Service;
import android.content.Intent;
import android.os.IBinder;
import android.util.Log;
import android.os.Binder;
import android.widget.Toast;


    public class BackgroundService extends Service {
        // Binder given to clients
        private final IBinder mBinder = new LocalBinder();
        // Random number generator
        private final Random mGenerator = new Random();

        /**
         * Class used for the client Binder.  Because we know this service always
         * runs in the same process as its clients, we don't need to deal with IPC.
         */
        public class LocalBinder extends Binder {

            LocalService getService() {
                // Return this instance of LocalService so clients can call public methods
                return LocalService.this;
            }

        }

        @Override
        public IBinder onBind(Intent intent) {
            return mBinder;
        }

        /** method for clients */
        public int getRandomNumber() {
          return mGenerator.nextInt(100);
        }
    }

1 Ответ

1 голос
/ 02 мая 2011

Вы назвали свой сервис "BackgroundService". Верните это в переплет. (Измените LocalSerivce на BackgroundSerivice в двух местах)

...