2017-01-22 1 views
-1

Я пишу небольшой родной плагин для Android для моего приложения NativeScript, но потом есть часть, где мне нужно передать несколько параметров строки в код Java, и это удивительно проблематично. Оказывается, когда я пытаюсь вызвать метод, который требует чего-либо другого в контексте android, вызов завершается с ошибкой.Как передать дополнительные параметры в собственный плагин для Android в NativeScript?

Вот мой JS, который вызывает метод:

var application = require("application"); 
var context = application.android.context; 

module.exports = { 
    startService: function(serviceName) { 
     var serviceInitializer = new service.fi.geolocationpollingservice.ServiceInitializer(); 
     serviceInitializer.startService(context, serviceName, userToken, locationUrl); 
    } 
}; 

и вот фактический метод Java:

public class ServiceInitializer { 

    public void startService(Context context, String serviceName, String userToken, String backendUrl) { 
     Toast.makeText(context, "serviceName: " + serviceName + "; userToken: " + userToken + "; backendUrl: " + backendUrl, Toast.LENGTH_LONG).show(); 
    } 
} 

Я уверен, что SERVICENAME, userToken и locationUrl инициализируются с соответствующими строковыми значениями, но когда я пытаюсь выполнить этот метод из своего приложения, я получаю следующую ошибку:

Unhandled Exception 
com.tns.nativeScriptException: Calling js method onCreateView 

Reference Error: userToken is not defined 
File: "/data/data/org.nativescript.forni/files/app/tns_modules/geo-polling-service-plugin/index.js, line 7, column 62" 
+0

Сообщение об ошибке достаточно подробное - в вашем javascript отсутствуют переменные, «дополнительные параметры» - это не проблема. – pkanev

+0

true ... у оригинальной версии моего кода была другая ошибка, но потом я начал экспериментировать с ней и забыл вернуть все, прежде чем публиковать ее здесь, но теперь уже слишком поздно, чтобы удалить вопрос ... –

ответ

1

Если вы код точно такой, как показано выше, тогда сообщение об ошибке находится на месте; Я не вижу переменную JS, объявленную как userToken.

+0

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

Смежные вопросы