PluginState.ONに設定されたPluginStateでloadDataWithBaseURLを使用してFlashプラグインが埋め込まれたWebView(ほとんどyoutube)にHTMLをロードしようとすると、SIGSEGV信号が表示されます。私は簡単なテストケースでエラーを再現することができます。プロセスは、プロセスに割り当てられているメモリセグメント外部のメモリを参照しようとしたときに発生SIGSEGV WebViewにHTML + Flashをロードする
package ians.android2;
import android.app.Activity;
import android.os.Bundle;
import android.webkit.WebView;
import android.webkit.WebSettings;
public class TestAndroid extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
WebView wv = (WebView)findViewById(R.id.webview);
wv.getSettings().setPluginState(WebSettings.PluginState.ON);
String html = "";
html += "<object width=\"620\" height=\"376\">";
html += "<param name=\"movie\" value=\"http://www.youtube.com/v/C4KdcRHoXOA?fs=1&hl=en_US&rel=0\"></param>";
html += "<param name=\"allowFullScreen\" value=\"true\"></param>";
html += "<param name=\"allowscriptaccess\" value=\"always\"></param>";
html += "<embed src=\"http://www.youtube.com/v/C4KdcRHoXOA?fs=1&hl=en_US&rel=0\" type=\"application/x-shockwave-flash\" allowscriptaccess=\"always\" allowfullscreen=\"true\" width=\"620\" height=\"376\"></embed>";
html += "</object>";
wv.loadDataWithBaseURL("notreal/", html, "text/html", "utf-8", null);
}
}
これは、2.2.1に基づいて最新のファームウェアを使用しているHTC Desire HD上にあります。ストックROM、カスタムのものはありません。 – Ian