的Youtube用戶檢測瀏覽器的Agent String
其中包含有關瀏覽器的信息。如果您要使用WebView
來顯示YouTube視頻,則可以設置WebView
的Agent String
。 您可以在互聯網上找到不同瀏覽器的代理字符串。我在這裏找到了一些:Agent Strings。
下面是如何通過模仿Firefox瀏覽器播放不允許在手機上鮑勃·馬利的歌曲:
package com.my.myapplication;
import android.app.Activity;
import android.os.Bundle;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.Toast;
public class MyActivity extends Activity {
private WebView mWebView ;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mWebView = new WebView(this);
// Enable javascript
mWebView.getSettings().setJavaScriptEnabled(true);
// Impersonate Mozzila browser
mWebView.getSettings().setUserAgentString("Mozilla/5.0 (Windows NT 6.2; Win64; x64; rv:21.0.0) Gecko/20121011 Firefox/21.0.0");
final Activity activity = this;
mWebView.setWebViewClient(new WebViewClient() {
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
Toast.makeText(activity, description, Toast.LENGTH_SHORT).show();
}
});
mWebView .loadUrl("http://youtube.com/watch?v=x59kS2AOrGM");
setContentView(mWebView);
}
}
編輯:
您還需要同意您的活動使用互聯網,通過添加此行到您的AndroidManifest.xml
:
<uses-permission android:name="android.permission.INTERNET" />
是一個骯髒的黑客行嗎?或者你正在尋找一個乾淨的解決方案? –
骯髒的黑客很好。 –
@MaximusS你有權訪問圖書館的源代碼(至少是通過反編譯)嗎?一個可以工作的骯髒的黑客就是找到'DefaultHttpClient'被初始化的地方,然後添加一個'HttpRequestInterceptor'(如果需要,通過反射)。然而,很難知道確切的步驟(或者即使有可能),但不知道它是哪個庫。 – matiash