从设备读取离子www/config.xml文件

eNd*_*ddy 6 cordova ionic-framework cordova-plugins ionic

我无法从Android设备上读取www/config.xml文件.我尝试了两种不同的方法.首先,我尝试使用另一个线程中推荐的$ http服务.当这不起作用时,我尝试使用Cordova文件插件.我这样做的原因是尝试从应用程序中的www/config.xml文件中获取版本号.以下是两种方法:

1)$ http.get()

 url = 'file:///android_asset/www/config.xml'
 $http.get(url)
    .then ((data) ->
      versionNumber = data.data.match(/<widget\s.*?\sversion=['"]([^'"]+)['"]/)
      verNum = versionNumber[1]
    ), (err) ->
    # {"data": null, "status": 0, .....}
      alert JSON.stringify err
Run Code Online (Sandbox Code Playgroud)

2)Cordova文件插件

   if ionic.Platform.isAndroid()
    path = 'file:///android_asset/www/'
    file = 'config.xml'
    $cordovaFile.readAsText(path, file)
      .then ((data) ->
        alert JSON.stringify data
        return
      ), (error) ->
        # I alert { code: 5 } which is an ENCODING_ERR
        alert JSON.stringify error
Run Code Online (Sandbox Code Playgroud)

man*_*nza 2

查看文件夹platforms/android,您可以看到该文件'android_asset/www/config.xml'不存在。您可以尝试读取该文件'/res/xml/config.xml',也可以尝试不同的方法,例如创建Cordova Hook

科尔多瓦挂钩

Cordova Hooks 代表特殊的脚本,可以由应用程序和插件开发人员甚至您自己的构建系统添加来自定义 cordova 命令。

您可以改编本文中的替换文本挂钩或基于同一挂钩的内部版本号挂钩。

更新

要仅获取应用程序的版本号,您可以使用此插件:

Cordova AppVersion 插件

Cordova插件返回当前应用程序的版本号

https://github.com/whiteoctober/cordova-plugin-app-version

也可用于 ngCordova