Я создаю приложение Phonegap для Android , используя Phonegap v1.3 . Я написал плагин для phonegap, который получает определенный файл из системы, а затем выполняет функцию js.
Поскольку все плагины расширяют класс Phonegap Плагин , я не могу выполнить функцию js напрямую оттуда. поэтому из выполнить функцию плагина, я выполняю ->
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)
В основном в функции setIntegerProperty -
public void setIntegerProperty(String name, int value) {
this.getIntent().putExtra(name, value);
}
this.getIntent () возвращает значение NULL. Можете ли вы сказать мне, что я скучаю. Или в моем сценарии использования, как мне выполнить эту функцию js. Если я не использую
super.setIntegerProperty("loadUrlTimeoutValue", 60000, intent);
тогда и loadUrl ничего не делает. JS не вызывается, или время ожидания истекло.