Şu anda ekran yönelim resimli bir uygulama üzerinde çalışıyorum ve tam ekran desteğine ihtiyaç duyan html 5 videom var. Bir WebChromeClient web görünümüne ekledim, birkaç yöntemi geçersiz kıldım. Her şey, dikey yönelime bağlı kaldığımda iyi çalışıyor, ancak tam ekrana giderken yönlendirmeye yatay geçiş yapmaya çalıştığımda, bir kaza geçirdim. Bir ipucu ?HTML 5 video çökmesi tam ekrana geçerken
overrided yöntemleri:
public void onShowCustomView(View view, CustomViewCallback callback) {
super.onShowCustomView(view, callback);
if (mCustomViewContainer != null) {
callback.onCustomViewHidden();
return;
}
if(interfazWeb==null)
interfazWeb = (FragTabActivity) getActivity();
if (view instanceof FrameLayout) {
mCustomViewContainer = (FrameLayout) view;
mCustomViewCallback = callback;
interfazWeb.getCustomContentView().setVisibility(View.INVISIBLE);
interfazWeb.addContentView(mCustomViewContainer, new FrameLayout.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT, ViewGroup.LayoutParams.FILL_PARENT, Gravity.CENTER));
interfazWeb.setBackDelegate(new BackDelegate(){
public boolean shouldOverrideBackButton() {
if(mCustomViewCallback!=null){//first calling onHideCustomView()
onHideCustomView();
return true;
}
return false;
}
});
mCustomViewContainer.bringToFront();
//interfazWeb.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
}
}
@Override
public void onHideCustomView() {
// TODO Auto-generated method stub
if(interfazWeb==null)
interfazWeb = (FragTabActivity) getActivity();
if(mCustomViewContainer!=null){
ViewGroup parent = (ViewGroup) interfazWeb.getCustomContentView().getParent();
if(parent!=null){
parent.removeView(mCustomViewContainer);
interfazWeb.getCustomContentView().setVisibility(View.VISIBLE);
}
}
if(mCustomViewCallback!=null){
mCustomViewCallback.onCustomViewHidden();
mCustomViewCallback = null;
}
//interfazWeb.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
}
@Override
public Bitmap getDefaultVideoPoster() {
// TODO Auto-generated method stub
return Bitmap.createBitmap(1, 1, Config.ARGB_8888);
}
@Override
public View getVideoLoadingProgressView() {
// TODO Auto-generated method stub
return new ProgressBar((Context) getActivity());
}
Günlüğü diyor ki:
10-31 11:09:36.336: E/AndroidRuntime(8098): java.lang.NullPointerException
10-31 11:09:36.336: E/AndroidRuntime(8098): at android.webkit.HTML5VideoView.isPlaying(HTML5VideoView.java:122)
10-31 11:09:36.336: E/AndroidRuntime(8098): at android.webkit.HTML5VideoViewProxy$VideoPlayer.isPlaying(HTML5VideoViewProxy.java:253)
10-31 11:09:36.336: E/AndroidRuntime(8098): at android.webkit.HTML5VideoViewProxy.handleMessage(HTML5VideoViewProxy.java:402)
10-31 11:09:36.336: E/AndroidRuntime(8098): at android.os.Handler.dispatchMessage(Handler.java:99)
10-31 11:09:36.336: E/AndroidRuntime(8098): at android.os.Looper.loop(Looper.java:137)
10-31 11:09:36.336: E/AndroidRuntime(8098): at android.app.ActivityThread.main(ActivityThread.java:4758)
10-31 11:09:36.336: E/AndroidRuntime(8098): at java.lang.reflect.Method.invokeNative(Native Method)
10-31 11:09:36.336: E/AndroidRuntime(8098): at java.lang.reflect.Method.invoke(Method.java:511)
10-31 11:09:36.336: E/AndroidRuntime(8098): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
10-31 11:09:36.336: E/AndroidRuntime(8098): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
10-31 11:09:36.336: E/AndroidRuntime(8098): at dalvik.system.NativeStart.main(Native Method)
DÜZENLEME: benim manifest bu satırı vardır:
android:configChanges="keyboardHidden|orientation|locale|screenLayout"
Bu sorunu çözmek için bana yardımcı olabilir misiniz? [Sorun] (http://stackoverflow.com/questions/14156411/loading-youtube-video-through-i-frame-in-android-webview) – edwin
Tam olarak aynı var sorun, ama sadece galaksinin S3 üzerinde, geri basıldığında (tam ekran için) – Pauland
@Pauland Bu sorun için çözüm buldunuz mu? Bu sorunu S3'te de alıyorum. Lütfen bana yardım edebilir misin? – Noundla