アプリケーションは PhoneGap にあります。https://github.com/marknutter/GCM-Cordovaでプッシュ通知機能を使用しています
機能全体を実装しましたが、昨日までは正常に機能していました。先日アプリを確認したところ、アプリが起動していないときにプッシュ通知が機能していませんでした。すべての通知がデバイスで受信され、メッセージをクリックするとアプリが開きます。
しかし、コントロールは、メッセージ通知が処理される JavaScript 部分で受信していません。
ファイル GCMIntentService.java からのコード:
JSONObject json;
json = new JSONObject().put("event", "message");
json.put("message", extras.getString("message"));
json.put("link", extras.getString("link"));
Log.v(ME + ":onMessage ", json.toString());
GCMPlugin.sendJavascript( json );
// Send the MESSAGE to the Javascript application
このコードは、メッセージが受信されたときに機能します。しかし、その時、アプリは実行されていません。
通知メッセージをクリックすると、アプリは通常どおり開き、メッセージ イベントは登録されません。そのため、JavaScript でプッシュ通知を処理するためのコントロールを取得できません。
CORDOVA_GCM_script.js のコードは、次の場所で入手できます。
https://github.com/marknutter/GCM-Cordova/blob/master/assets/www/CORDOVA_GCM_script.js
注:アプリの実行中は問題なく動作します。
編集: 通知が時々実行されます。JavaScript がランダムにメッセージ イベントを取得しています。
編集2:
私は間違いなく問題を知っています。
Java ファイルから、プッシュ通知メッセージをクリックしてアプリを開くと、javascript コードがトリガーされます。しかし、その時点では WebView がロードされていないため、スクリプト (イベント トリガー) を実行できません。これが条件ですか、プラグインを使用するすべての人が同じことを経験します。回避策または修正方法はありますか?
私は何か間違ったことをしていますか?