cordova - 从设备读取 ionic www/config.xml 文件

标签 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

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

最佳答案

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

Cordova Hooks:

Cordova Hooks represent special scripts which could be added by application and plugin developers or even by your own build system to customize cordova commands.



您可以调整 replace text hook from this article或者这个 build number hook基于同一个钩子(Hook)。

更新

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

Cordova AppVersion plugin

Cordova plugin to return the version number of the current app

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



Is available also with ngCordova

关于cordova - 从设备读取 ionic www/config.xml 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28570152/

相关文章:

android - 后台服务 Cordova ionic 应用程序。背景插件不适用于 ios 8.3

android - 为什么我的phonegap build android 命令不起作用?

mysql - 将 ionic 连接到 mysql 数据库

javascript - ng-click 根本不触发任何东西

ios - cordova-plugin-console 不支持这个项目的 cordova-ios 版本

javascript - "undefined"结果使用 FileOpener Phonegap Android 并无法打开视频文件?

javascript - 如何使用 ionic 应用程序中的 ngcordova 插件从联系人中仅提取电话号码数组

javascript - Google Sheets API 与 Ionic

cordova - 扩展cordova gradle文件以包含谷歌服务

Ionic2 NativeStorage无法获取项目(用户)