PhoneGap Android - Window.plugins не определено - PullRequest
0 голосов
/ 06 марта 2012

Я создал свой собственный плагин, который вызывает класс, написанный на Java. Я хочу назвать этот плагин из кода Javascript. Ошибка приходит в коде:

window.plugins.locationListing.list("/sdcard",
        function(r){gotLocation(r)},
        function(e){onError(e)}
);

window.plugins не определено.

Вот что я сделал:
1) Создал класс плагина LocationFinder в моей исходной папке
2) Добавлен плагин в res / xml / plugins.xml

<plugin name="LocationFinder" value="com.phonegap.plugins.locationListing.LocationFinder"/>

3) Создан файл javascript с именем locationlisting.js:

var LocationListing = function() {
};

LocationListing.prototype.list = function(directory, successCallback, failureCallback) {
  return PhoneGap.exec(successCallback,    
      failureCallback,
      'LocationFinder',
      'list',
      directory);
};

4) В мой main.html добавлены locationlisting.js, main.js, phonegap-1.0.0.js.
5) Из моего main.js я вызываю плагин, где я выполняю первый фрагмент кода, который я написал выше, скопированный ниже:

function callPlugin() {
    window.plugins.locationListing.list("/sdcard",
        function(r){gotLocation(r)},
        function(e){onError(e)}
    );
}

Это где window.plugins не определен. В чем может быть проблема? У меня все мои файлы js хранятся в www /. Любая помощь будет оценена.

1 Ответ

0 голосов
/ 14 марта 2012

Вы пропустили регистрационную часть в файле locationlisting.js:

PhoneGap.addConstructor(function() {
    PhoneGap.addPlugin("locationListing", new LocationListing());
});

Вы можете сослаться на несколько примеров шаблонов плагинов, которые я создал здесь

...