Browse Source

fix: @capacitor/device uid get

ryanemax 1 week ago
parent
commit
a982ae8ffe
2 changed files with 14 additions and 4 deletions
  1. 6 4
      6.2.1/capacitor/src/main/java/com/getcapacitor/Bridge.java
  2. 8 0
      README.md

+ 6 - 4
6.2.1/capacitor/src/main/java/com/getcapacitor/Bridge.java

@@ -1126,10 +1126,12 @@ public class Bridge implements IPostMessage {
             String cordovaPluginsJS = JSExport.getCordovaPluginJS(context);
             String cordovaPluginsFileJS = JSExport.getCordovaPluginsFileJS(context);
             String localUrlJS = "window.WEBVIEW_SERVER_URL = '" + localUrl + "';"
-            // 修复gecko view 远程验证权限
-            +"Services.prefs.setBoolPref('services.settings.remote-settings.enabled', false);"
-            // 修复@capacitor/device 丢失 identifier参数 _capuid
-            +"setInterval(()=>{window.localStorage.setItem('_capuid', '" + androidId + "')},1000);";
+            // (浏览器缺少Services无法运行)修复gecko view 远程验证权限
+            // +"Services.prefs.setBoolPref('services.settings.remote-settings.enabled', false);"
+            /* Fixed: 修复@capacitor/device
+                修复丢失identifier参数_capuid,导致每次重启都是新的uid
+            */
+            +"window.localStorage.setItem('_capuid', '" + androidId + "');";
             // String remoteDisableJS = "Services.prefs.setBoolPref('services.settings.remote-settings.enabled', false);";
 
             return new JSInjector(globalJS, bridgeJS, pluginJS, cordovaJS, cordovaPluginsJS, cordovaPluginsFileJS, localUrlJS);

+ 8 - 0
README.md

@@ -1,6 +1,14 @@
 # Capacitor Geckoview浏览器支持插件
 
 
+
+# 迁移重点
+
+- Geckoview 不支持直接evalJS(<jscode>)运行JS代码
+    - 需要通过消息气泡重新实现
+        - src/main/java/com/getcapacitor/WebExtensionPortProxy.java
+        - src/main/java/com/getcapacitor/MessageHandler.java
+
 # 变更记录
 ## Upgrade to 6.2.1
 - 将web-media项目,覆盖官方5.7.0,查看变化。