新手没有币种,如果有的话我一定会多给的,大家帮帮忙谢谢
大神帮忙看一下,想把别人做好的解析视频的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);
}
}