Код клиента службы Android - PullRequest
       0

Код клиента службы Android

0 голосов
/ 24 октября 2010

Поздравления Я создаю сервисный клиент, и следующие строки дают мне ошибка. Мне было интересно, как это исправить ...

//  I have put in the service client stuff below...

private  CheckZone mBoundService;
private ServiceConnection mConnection = new ServiceConnection() {
public void onServiceConnected(ComponentName CheckZone, IBinder service) {
    // This is called when the connection with the service has been
    // established, giving us the service object we can use to
    // interact with the service.  Because we have bound to a explicit
    // service that we know is running in our own process, we can
    // cast its IBinder to a concrete class and directly access it.
    mBoundService = ((CheckZone.LocalBinder)service).getService();

    //This line complians about binding, and states that it can not be resolved.  How do I fix this please?
    Toast.makeText(binding.this, "Connected to CheckZone", Toast.LENGTH_SHORT).show();
}

Ответы [ 3 ]

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

Я только что столкнулся с этой проблемой, используя тот же пример кода локального сервиса из http://developer.android.com/reference/android/app/Service.html, Toast.makeText не был доволен только this.Вам нужно использовать classname.this

например,

public class MyClass extends Activity {
  private ServiceConnection mConnection = new ServiceConnection() {

    public void myMethod () {
                Toast.makeText(MyClass.this,
                R.string.local_service_connected,
                Toast.LENGTH_SHORT).show();
    }
  }
}

Без MyClass. вы получите ошибку:

Метод makeText (Context, int, int) в типе Toast не применяется для аргументов (new ServiceConnection () {}, int, int)

Причина в том, что вы на самом деле во внутреннем классе.

См .: Использование «this» с именем класса

И, конечно, имя класса, оставленное в примере кода, равно Binder, так что если ваш класс был назван так, он просторабота.

0 голосов
/ 25 октября 2010

Есть ли у вас LocalBinder в вашем сервисе CheckZone?

0 голосов
/ 25 октября 2010

Я думаю, что вы имеете в виду ошибку компиляции?Связывание не определено?Просто избавьтесь от привязки. И используйте «this»

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