Cordova navigator.camera.getPicture在Android 4.4 KitKat上从库中以意外的格式返回FILE_URI

时间:2013-12-02 19:16:49

标签: android cordova android-4.4-kitkat

在Kitkat之前navigator.camera.getPicture像这样返回了一个Uri

content://media/external/images/media/3951

然而,在Kitkat,它会像这样返回一个Uri:

content://com.android.providers.media.documents/document/image:3951 

使用cordova-2.9.0的示例代码:

gallery: function () {
  navigator.camera.getPicture(this.handleUri,
    function () {
      console.log('error retrieving imageURI');
      return false;
    },
    { quality: 100,
      destinationType: navigator.camera.DestinationType.FILE_URI,
      sourceType: navigator.camera.PictureSourceType.PHOTOLIBRARY }
  );
},

handleUri: function (imageURI) {
  //imageURI is in unexpected format content://com.android.providers.media.documents/document/image:3951            
}

我们如何以原始格式返回URI?

2 个答案:

答案 0 :(得分:0)

网址没什么问题。

它不是文件URL,而是Content-URL。您也应该能够使用该URL。如果没有,您可能必须使用Content-Resolver

你想用URL做什么?注意什么工作?

答案 1 :(得分:-1)

使用destinationType:navigator.camera.DestinationType.DATA_URL而不是destinationType:navigator.camera.DestinationType.FILE_URI
并将com.simplec.plugins.externalfiles插件添加到您的config.xml 或

将您的Cordova更新为3.5,修复所有Kitkat问题