Cordova项目中的文件上载不适用于Android

Cordova项目中的文件上载不适用于Android,android,cordova,ionic-framework,hybrid-mobile-app,ng-file-upload,Android,Cordova,Ionic Framework,Hybrid Mobile App,Ng File Upload,在我的Cordova项目中,我依赖于第三方依赖关系,该依赖关系用于上传文件 它可以在iOS上运行,但不能在Android上运行 旧问题已解决,因为提供了以下解决方案: =>现在已弃用 人行横道=>现已弃用 我怎样才能解决这个问题?HTTP请求根本不发送 其他信息: : 未找到处理文件选择器意图的活动: android.content.ActivityNotFoundException:未找到要处理的活动 Intent{act=android.Intent.action.GET_CONTENT

在我的Cordova项目中,我依赖于第三方依赖关系,该依赖关系用于上传文件

它可以在iOS上运行,但不能在Android上运行

旧问题已解决,因为提供了以下解决方案:

=>现在已弃用

人行横道=>现已弃用

我怎样才能解决这个问题?HTTP请求根本不发送

其他信息:

: 未找到处理文件选择器意图的活动: android.content.ActivityNotFoundException:未找到要处理的活动 Intent{act=android.Intent.action.GET_CONTENT cat= [android.intent.category.OPENABLE]typ=.jpg、.png、.tiff、.jpeg、.tif、.pdf}

日志解释: 该错误告诉您,该设备未安装能够处理该特定隐式意图的应用程序。->但事实并非如此

这似乎不是权限问题: Cordova Android应用程序在我使用upload按钮代替ng file upload指令时工作。 我们已经提供了所有必需的权限:

        <custom-config-file parent="/*" target="AndroidManifest.xml">
            <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
            <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
            <uses-permission android:name="android.permission.MANAGE_DOCUMENTS" />
            <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
        </custom-config-file>

我们在下面添加了棒棒糖和更高版本处理程序中缺少的两行代码,解决了这个错误

@TargetApi(Build.VERSION_CODES.LOLLIPOP)
@Override
public boolean onShowFileChooser(WebView webView, final ValueCallback<Uri[]> filePathsCallback, final WebChromeClient.FileChooserParams fileChooserParams) {
    Intent intent = fileChooserParams.createIntent();
    // FIX HERE vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv @@
    intent.addCategory(Intent.CATEGORY_OPENABLE); 
    intent.setType("*/*");
    // FIX HERE ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@
cordova项目中的此处理程序位于:src/org/apache/cordova/engine/SystemWebChromeClient.java下


希望cordova android的贡献者能够自己解决这个问题,这样我们就可以删除我们的补丁。

我会给帮助我们解决这个问题的人50个代表的奖金。谢谢:更新:有人告诉我,有人使用inappbrowser成功上传了ng文件。尝试一下……更好的解决方案:
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
@Override
public boolean onShowFileChooser(WebView webView, final ValueCallback<Uri[]> filePathsCallback, final WebChromeClient.FileChooserParams fileChooserParams) {
    Intent intent = fileChooserParams.createIntent();
    // FIX HERE vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv @@
    intent.addCategory(Intent.CATEGORY_OPENABLE); 
    intent.setType("*/*");
    // FIX HERE ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@