gpt4 book ai didi

android - 如何从WebView调用youtube应用播放视频?

转载 作者:行者123 更新时间:2023-12-03 06:30:54 24 4
gpt4 key购买 nike

我创建了一个使用WebView来查看我的网站的应用程序,该应用程序运行平稳且没有任何错误,我什至将其上传到了Google Play商店。唯一的问题是,我的网站上有youtube视频链接,但它们在我的应用程序上不起作用。它们出现在屏幕上,用户可以轻松地单击它们,但是在单击视频加载标志后,该标志就会显示并保持旋转,没有任何好处。我知道移动网络浏览器没有Flash Player插件,我已经在StakcOverFlow上查看了所有类似的问题。因此,我想做的是让我的应用程序从android系统调用YouTube应用程序,并使其通过播放我的网站youtube视频来完成任务。我读到有关Intent方法的信息,但找不到任何有用的方法。有什么建议的家伙吗?

谢谢你svenoaks。现在我在代码中有一个小错误:

package com.parse;



import android.net.Uri;
import android.os.Bundle;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.view.KeyEvent;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.Toast;

public class ParserActivity extends Activity {
private WebView myWebView;
@SuppressLint({"setJavaScriptEnabled"})
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_parser);
myWebView =(WebView) findViewById(R.id.webview);
myWebView.loadUrl("https://parse.com/apps/aramco-app1/push_notifications /new");
myWebView.setWebViewClient(new HelloWebViewClient());
myWebView.getSettings().setJavaScriptEnabled(true);
myWebView.getSettings().setLoadWithOverviewMode(true);
myWebView.getSettings().setUseWideViewPort(true);
myWebView.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY);
myWebView.setScrollbarFadingEnabled(true);
myWebView.getSettings().setBuiltInZoomControls(true);
myWebView.getSettings().setSupportZoom(true);

}
private class HelloWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView webview, String url)
{webview.loadUrl (url);
return true;
{
// YouTube video link
if (url.startsWith("vnd.youtube:"))
{

startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse
(String.format("http://www.youtube.com/v/%s", url.substring("vnd.youtube:".length())))));

return true;
}

return false;
}
}


@Override
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl)
{
Toast.makeText(WebActivity.this, "Oh no! " + description, Toast.LENGTH_SHORT).show();
}
});


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

}
class WebAppInterface {
Context mContext;
WebAppInterface(Context c) {
mContext = c;
}

private void show()
{
// TODO: Implement this method
}

}

onReceive方法有一个错误。

最佳答案

这对KitKat之前的我来说是有效的,但由于没有插件,现在我什至看不到要单击的Web View 中的视频。希望它将为您工作:

webView.setWebViewClient(new WebViewClient()
{
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url)
{
// YouTube video link
if (url.startsWith("vnd.youtube:"))
{

startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse
(String.format("http://www.youtube.com/v/%s", url.substring("vnd.youtube:".length())))));

return true;
}

return false;

}

@Override
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl)
{
Toast.makeText(WebActivity.this, "Oh no! " + description, Toast.LENGTH_SHORT).show();
}
});

关于android - 如何从WebView调用youtube应用播放视频?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20816342/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com