a8469758
蛋蛋哇
采纳率0%
2017-07-20 23:33 阅读 3.4k

想把别人做好的解析视频的网站加载到app上,用腾讯X5webview,可是却不能加载视频,有时候控制

新手没有币种,如果有的话我一定会多给的,大家帮帮忙谢谢

大神帮忙看一下,想把别人做好的解析视频的wangzhan加载到app上,用腾讯X5webview,可是却不能加载视频,有时候控制台会报:请不要解析
代码如下(为什么单纯用游览器就能播放视频,而放到app上就不能使用了)
MainActivity.java(更新版本代码和腾讯X5代码我就不放了)
public class MainActivity extends AppCompatActivity {

private com.tencent.smtt.sdk.WebView webView;
private String url = "http://v.woaik.com/";

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    webView = new com.tencent.smtt.sdk.WebView(this);
    int width = webView.getView().getWidth();

    //腾讯X5
    initX5();
    getWindow().setFormat(PixelFormat.TRANSLUCENT);//(这个对宿主没什么影响,建议声明)
    getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE | WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);
    initView();
    loadUrl(url);//访问网页


    update();//安卓版本更新

}



private void initView() {
    webView = (com.tencent.smtt.sdk.WebView) findViewById(R.id.forum_context);
}

private void initX5() {
    Intent intent = new Intent(this, AdvanceLoadX5Service.class);
    startService(intent);
}


private void update() {
    Map<String, String> params = new HashMap<String, String>();

    params.put("key1", "value1");
    params.put("key2", "value2");
    params.put("key3", "value3");
    params.put("key4", "value4");


    new UpdateAppManager
            .Builder()
            //当前Activity
            .setActivity(this)
            //实现httpManager接口的对象
            .setHttpManager(new UpdateAppHttpUtil())
            //设置请求方式 默认get,
            .setPost(false)
            //更新地址
            .setUpdateUrl("http://122.14.199.210/json.txt")
            //添加自定义参数
            .setParams(params)
            //设置点击升级后,消失对话框
            .hideDialogOnDownloading(true)
            //设置头部
            .setTopPic(R.mipmap.top_8)
            //设置主题色

// .setThemeColor(0xff034ea0)
.build()
//检测是否有新版本
.checkNewApp(new UpdateCallback() {
/**
* 解析json,自定义协议
*
* @param json 服务器返回的json
* @return UpdateAppBean
*/
@Override
protected UpdateAppBean parseJson(String json) {
UpdateAppBean updateAppBean = new UpdateAppBean();
try {
JSONObject jsonObject = new JSONObject(json);
updateAppBean
//是否更新Yes,No
.setUpdate(jsonObject.optString("update"))
//新版本号
.setNewVersion(jsonObject.optString("new_version"))
//下载地址
.setApkFileUrl(jsonObject.optString("apk_file_url"))
//大小
.setTargetSize(jsonObject.optString("target_size"))
//更新内容 测试更新内容过多
.setUpdateLog("1,添加删除信用卡接口\n2,添加vip认证\n3,区分自定义消费,一个小时不限制。\n4,添加放弃任务接口,小时内不生成。\n5,消费任务手动生成。" +
"\n1,添加删除信用卡接口\n2,添加vip认证\n3,区分自定义消费,一个小时不限制。\n4,添加放弃任务接口,小时内不生成。\n5,消费任务手动生成。" +
"\n1,添加删除信用卡接口\n2,添加vip认证\n3,区分自定义消费,一个小时不限制。\n4,添加放弃任务接口,小时内不生成。\n5,消费任务手动生成。" +
"\n1,添加删除信用卡接口\n2,添加vip认证\n3,区分自定义消费,一个小时不限制。\n4,添加放弃任务接口,小时内不生成。\n5,消费任务手动生成。" +
"\n1,添加删除信用卡接口\n2,添加vip认证\n3,区分自定义消费,一个小时不限制。\n4,添加放弃任务接口,小时内不生成。\n5,消费任务手动生成。" +
"\n1,添加删除信用卡接口\n2,添加vip认证\n3,区分自定义消费,一个小时不限制。\n4,添加放弃任务接口,小时内不生成。\n5,消费任务手动生成。")
//是否强制更新
.setConstraint(false);
//设置md5
// .setNewMd5(jsonObject.optString("new_md5ddfdfdf"));
} catch (JSONException e) {
e.printStackTrace();
}
return updateAppBean;
}

                /**
                 * 有新版本
                 *
                 * @param updateApp        新版本信息
                 * @param updateAppManager app更新管理器
                 */
                @Override
                public void hasNewApp(UpdateAppBean updateApp, UpdateAppManager updateAppManager) {
                    if (updateApp.isConstraint()) {

                    } else {

                    }
                    updateAppManager.showDialog();
                }

                /**
                 * 网络请求之前
                 */
                @Override
                public void onBefore() {
                    CProgressDialogUtils.showProgressDialog(MainActivity.this);
                }

                /**
                 * 网路请求之后
                 */
                @Override
                public void onAfter() {
                    CProgressDialogUtils.cancelProgressDialog(MainActivity.this);
                }

                /**
                 * 没有新版本
                 */
                @Override
                public void noNewApp() {
                    Toast.makeText(MainActivity.this, "没有新版本", Toast.LENGTH_SHORT).show();
                }
            });

}

@Override
protected void onStart() {
    super.onStart();

}
private void loadUrl(String url) {
    WebSettings webSettings = webView.getSettings();
    webSettings.setJavaScriptEnabled(true);
    webView.loadUrl(url);
    webView.setWebViewClient(new WebViewClient() {

        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            view.loadUrl(url);
            return true;
        }


        public void onReceivedError(WebView var1, int var2, String var3, String var4) {
            Log.i("打印日志","网页加载失败");
        }
    });
    //进度条
    webView.setWebChromeClient(new WebChromeClient() {

        public void onProgressChanged(WebView view, int newProgress) {
            if (newProgress == 100) {
                Log.i("打印日志","加载完成");
            }
        }
    });
}

@Override
protected void onDestroy() {
    super.onDestroy();
    if (webView != null) webView.destroy();
}

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_BACK) {
        if (webView != null && webView.canGoBack()) {
            webView.goBack();
            return true;
        }
        return super.onKeyDown(keyCode, event);
    }
    return super.onKeyDown(keyCode, event);
}

}

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

1条回答 默认 最新

相关推荐