Phonegapv1.3を使用してPhonegapAndroidアプリを作成しています。システムから特定のファイルを取得してjs関数を実行するphonegapのプラグインを作成しました。
すべてのプラグインが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+"\");");
}
問題は、DroidGapのsetIntegerProperty関数が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が呼び出されないか、タイムアウトになります。