把HTML5的手机网站嵌入安卓APP中,发现<input type='file' />的上传按钮功能失效,点击没有任何反应?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了把HTML5的手机网站嵌入安卓APP中,发现<input type='file' />的上传按钮功能失效,点击没有任何反应?相关的知识,希望对你有一定的参考价值。

有没有遇到过类似问题的大神们,帮忙解决下呗,非常着急呢,百度了一下午没有百度到相应的解决方案

安卓APP的WebView默认屏蔽了该控件的使用,有些安卓APP之所以能支持文件选择和上传,主要可能是有可能采取了如下措施之一:

(1)可能在该APP中重写了相关方法(http://stackoverflow.com/questions/5907369/file-upload-in-webview)

(2)提供了JS Bridge来供web页面调用

所以,单从前端技术上是解决不了这个问题的。

这个问题之所以不太好排查,一方面跟手机端的图片上传功能我不太常用到有很大关系,另一方面也因为见到一些其它的APP容器能支持该功能,所以思维在习惯上已经形成定势,误以为这是WebView默认就支持的。

末了,顺便提醒一句,下次进行类似功能的需求评审,别忘了先了解下相应的APP容器是否支持该功能,如果没有,则需要找到相应的客户端开发同学评估一下工时,以免造成影响项目进度的风险








参考技术A

安卓APP的WebView默认屏蔽了该控件的使用,有些安卓APP之所以能支持文件选择和上传,主要可能是有可能是以下几种原因之一:

1、可能在该APP中重写了相关方法。

2、提供了JS Bridge来供web页面调用。

单从前端技术上是解决不了这个问题的,这个问题之所以不太好排查,一方面跟手机端的图片上传功能我不太常用到有很大关系,另一方面也因为见到一些其它的APP容器能支持该功能,所以思维在习惯上已经形成定势,误以为这是WebView默认就支持的。

参考技术B 请问大神,这个问题解决了吗,我也遇到了同样的问题,求解决方法。

手机网站转安卓APP

今天本来是帮朋友查看是否在APP里可以点外链的一个测试,做着做来感觉了,就把这个测试优化了一下。好了我们来进入正题.

工具:Android Studio

第一步:新建项目

第二步:拖入控件(WebView)

第三步:写后台方法

1.在onCreate中添加如下代码:

        //WebView加载网页
        final WebView webView = (WebView) findViewById(R.id.webView);
        webView.getSettings().setJavaScriptEnabled(true);
        webView.loadUrl("http://www.luoruiyuan.cn");
        webView.setWebViewClient(new ExampleWebViewClient());

        //点击后退按钮,让WebView后退一页(也可以覆写Activity的onKeyDown方法)
        webView.setOnKeyListener(new View.OnKeyListener(){
            @Override
            public boolean onKey(View v, int keyCode, KeyEvent event) {
                if (event.getAction() == KeyEvent.ACTION_DOWN) {
                    if (keyCode == KeyEvent.KEYCODE_BACK && webView.canGoBack()) {  //表示按返回键时的操作
                        webView.goBack();   //后退
                        //webview.goForward();//前进
                        return true;    //已处理
                    }
                }
                return false;
            }
        });

2.修改上网权限

代码:

<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

第四步:修改APP图标与名称

最终效果:

以上是关于把HTML5的手机网站嵌入安卓APP中,发现<input type='file' />的上传按钮功能失效,点击没有任何反应?的主要内容,如果未能解决你的问题,请参考以下文章

开发苹果应用能像安卓那样把一个手机html5版嵌入应用外壳作成应用吗?

把HTML5游戏搬到安卓

把HTML5游戏搬到安卓

手机网站转安卓APP

在安卓手机上看网页的时候如何实现视频嵌入页面中播放?不用flash的话

手机app下载平台,手机app最全的下载网站是啥网站?安卓