ソースを参照

hook for activate event

Sebastián Katzer 10 年 前
コミット
ec6e2b6861
2 ファイル変更52 行追加0 行削除
  1. 4 0
      plugin.xml
  2. 48 0
      scripts/windows/broadcastActivateEvent.js

+ 4 - 0
plugin.xml

@@ -218,6 +218,10 @@
         <hook type="after_platform_add" src="scripts/windows/setToastCapable.js" />
         <hook type="after_plugin_install" src="scripts/windows/setToastCapable.js" />
 
+        <!-- <hook type="after_platform_add" src="scripts/windows/broadcastActivateEvent.js" /> -->
+        <!-- <hook type="after_plugin_install" src="scripts/windows/broadcastActivateEvent.js" /> -->
+        <!-- <hook type="after_prepare" src="scripts/windows/broadcastActivateEvent.js" /> -->
+
     </platform>
 
 </plugin>

+ 48 - 0
scripts/windows/broadcastActivateEvent.js

@@ -0,0 +1,48 @@
+#!/usr/bin/env node
+
+// This Plugin-Hook sets ToastCapable on true to allow windows-platform
+// cordova apps displaing local-notifications
+
+var fs = require('fs'),
+    rootdir = process.argv[2];
+
+if (!rootdir)
+    return;
+
+function replace_string_in_file (filename, to_replace, replace_with) {
+    var data = fs.readFileSync(filename, 'utf8'),
+        result;
+
+    // if (data.indexOf(replace_with) > -1)
+        // return;
+
+    result = data.replace(new RegExp(to_replace, 'g'), replace_with);
+
+    fs.writeFileSync(filename, result, 'utf8');
+}
+
+var snippet =
+    "var activatedHandler = function (args) {" +
+        "channel.deviceready.subscribe(function () {" +
+            "WinJS.Application.queueEvent(args);" +
+        "});" +
+    "};" +
+    "WinJS.Application.addEventListener('activated', activatedHandler, false);" +
+    "document.addEventListener('deviceready', function () {" +
+        "WinJS.Application.removeEventListener('activated', activatedHandler);" +
+    "}, false);" +
+    "app.start();";
+
+
+var files = [
+    'platforms/windows/www/cordova.js',
+    'platforms/windows/platform_www/cordova.js'
+];
+
+setTimeout(function () {
+    for (var i = 0; i < files.length; i++) {
+        replace_string_in_file(files[i], 'app.start();', '123app.start();');
+    }
+}, 1000);
+
+console.log(123);