Android用のLocalNotificationプラグインを使用するphonegap-1.4.1プロジェクトをcordova-1.6.0にアップグレードしようとしています
私はここでこのリンクを見つけました:https ://github.com/davejohnson/phonegap-plugin-facebook-connect/pull/109 それが言うところ、Androidの場合:CordovaInterfaceオブジェクトのthis.ctx.getContext()メソッドを使用してConextオブジェクトを取得します。
LocalNotification.javaを編集し、次の行を変更することでプロジェクトをエラーなしでコンパイルしました。
から:
alarm = new AlarmHelper(this.ctx);
...
final SharedPreferences alarmSettings = this.ctx.getSharedPreferences(PLUGIN_NAME, Context.MODE_PRIVATE);
...
final Editor alarmSettingsEditor = this.ctx.getSharedPreferences(PLUGIN_NAME, Context.MODE_PRIVATE).edit();
...
final Editor alarmSettingsEditor = this.ctx.getSharedPreferences(PLUGIN_NAME, Context.MODE_PRIVATE).edit();
...
final Editor alarmSettingsEditor = this.ctx.getSharedPreferences(PLUGIN_NAME, Context.MODE_PRIVATE).edit();
に:
alarm = new AlarmHelper(this.ctx.getContext());
...
final SharedPreferences alarmSettings = this.ctx.getContext().getSharedPreferences(PLUGIN_NAME, Context.MODE_PRIVATE);
...
final Editor alarmSettingsEditor = this.ctx.getContext().getSharedPreferences(PLUGIN_NAME, Context.MODE_PRIVATE).edit();
...
final Editor alarmSettingsEditor = this.ctx.getContext().getSharedPreferences(PLUGIN_NAME, Context.MODE_PRIVATE).edit();
...
final Editor alarmSettingsEditor = this.ctx.getContext().getSharedPreferences(PLUGIN_NAME, Context.MODE_PRIVATE).edit();
ただし、自分が何をしているのかよくわからず、通知が機能せず、アプリケーションログにエラーが表示されないことを認める必要があります:(
また、onDeviceReady()関数の例のように、次のようになっていることに気づきました。
console.log("Device ready");
if (typeof plugins !== "undefined") {
plugins.localNotification.add({
date : new Date(),
message : "Phonegap - Local Notification\r\nSubtitle comes after linebreak",
ticker : "This is a sample ticker text",
repeatDaily : false,
id : 4
});
}
プラグインのif条件タイプを削除すると!== "undefined"アプリログに次のエラーが表示されます:Uncaught ReferenceError:プラグインが定義されていません
コルドバで変わった何か他のものを推測します。役立つ場合は、Androidプラグインをcordovaにアップグレードするためのガイドがどこかにあります。