Обязательный сервис android - PullRequest
       0

Обязательный сервис android

0 голосов
/ 29 августа 2011

Я пытаюсь привязать действие к услуге, и вот мой код для этого. Ниже приведен код активности

         Button start = (Button) findViewById(R.id.button1);
         Button stop = (Button) findViewById(R.id.button2);
         start.setOnClickListener(this);
         stop.setOnClickListener(this);
        }
    @Override
       public void onClick(View v) {
       if(v.getId() == R.id.button1)
       {
        Intent i = new Intent(Intent.ACTION_MAIN);
        i.setClassName("org.example","org.example.ServicesActivity");
        bindService(i, conn, 0);
       }
       else if(v.getId() == R.id.button2)
       {
        unbindService(conn);
        counter.setText("Number of Binding issss");
       }    
       }
        public ServiceConnection conn = new ServiceConnection() {

    @Override
    public void onServiceDisconnected(ComponentName name) {
        System.out.println("Service is disconnected");  
    }

    @Override
    public void onServiceConnected(ComponentName name, IBinder service) {
        System.out.println("Service is connected"); 
    }
       };

, и это код для моей службы

             IBinder mBinder = new LocalBinder();
         @Override
          public IBinder onBind(Intent intent) {
    System.out.println("came to onBind in service");
    return mBinder ;

         }
           @Override
           public void onCreate(){
          super.onCreate();
            System.out.println("came to oncreate in service");      
                 }
              @Override
               public void onStart(Intent intent,int startId){
            super.onStart(intent, startId);
             System.out.println("came to onstart in service");
                  }
          public class LocalBinder extends Binder{
            ServicesActivity getService(){
          System.out.println("came to Localbinder getservice in service");
         return ServicesActivity.this;  
         }
              }

Мой сервис и активность - это два разных приложения. Моя проблема в том, что когда я нажимаю кнопку "Пуск", действие должно привязываться к сервису, но оно не является обязательным и даже не отображает никаких ошибок. Вы можете сказать, где яделает ошибку ???Спасибо

1 Ответ

0 голосов
/ 06 мая 2014

Запускали ли вы действие из apk, в котором находится Служба с момента ее установки?Вы не можете установить автономную службу и ожидать ее запуска до того, как произойдет взаимодействие с пользователем.Пользователь должен запустить его хотя бы один раз, чтобы вывести его из состояния «остановлено».Тогда служба может реагировать на намерения.Эта функция безопасности была введена в Android 3.1.

http://developer.android.com/about/versions/android-3.1.html#launchcontrols

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