Я делаю Приложение для мобильного телефона Android с использованием Phonegap v1.3. Я написал плагин для phonegap, который получает конкретный файл из системы, а затем выполняет функцию js.
Поскольку все плагины расширяют класс Phonegap Плагин, я не могу выполнить функцию js непосредственно оттуда. поэтому из выполнить функции плагина, я исполняю ->Выполнение функций JS из Android-плагина Phonegap
PluginResult result = null;
Home home = new Home();
result = new PluginResult(Status.OK);
home.loadPage("pic.jpg");
В этом главном моем основном классе, который расширяет Droidgap.
В доме у меня есть функция loadPage
public void loadPage(String filePath){
super.setIntegerProperty("loadUrlTimeoutValue", 60000);
super.loadUrl("javascript:navigator.somefunc(\""+filePath+"\");");
}
Проблема заключается в том, что setIntegerProperty функция DroidGap бросает NPE. Вот журналы.
01-16 11:41:32.364: W/System.err(13162): java.lang.NullPointerException
01-16 11:41:32.364: W/System.err(13162): at com.phonegap.DroidGap.setIntegerProperty(DroidGap.java:738)
01-16 11:41:32.364: W/System.err(13162): at e2o.mobile.Home.loadSharePage(Home.java:120)
01-16 11:41:32.364: W/System.err(13162): at com.phonegap.plugins.checkImage.CheckUploadImage.execute(CheckUploadImage.java:158)
01-16 11:41:32.364: W/System.err(13162): at com.phonegap.api.PluginManager$1.run(PluginManager.java:150)
01-16 11:41:32.364: W/System.err(13162): at java.lang.Thread.run(Thread.java:1019)
Bascically в функции setIntegerProperty -
public void setIntegerProperty(String name, int value) {
this.getIntent().putExtra(name, value);
}
this.getIntent() возвращается нуль. может у вас рассказать мне, что мне не хватает. Или в моем сценарии использования, как я могу выполнить эту функцию js. Если я не использую
super.setIntegerProperty("loadUrlTimeoutValue", 60000, intent);
тогда и loadUrl ничего не делает. JS не вызван, или он истекает.
Да, я следовал неправильному подходу. функция успеха должна выполнять функцию js. теперь работает отлично. :) – ghostCoder