I have VideoView streaming video from uri. I want to show ProgressDialog while data is loading. But it's not showing. Only black screen is visible, than after some time starting video.
Why my dialog isn't shown?
private static ProgressDialog pDialog;
VideoView vid;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON, WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
setContentView(R.layout.activity_player);
vid = (VideoView) findViewById(R.id.videoView1);
pDialog = ProgressDialog.show(PlayerActivity.this, "", getString(R.string.please_wait_while_loading), true);
Intent intent = getIntent();
String url = intent.getStringExtra(MainActivity.STREAM_URL);
StartPlay(url);
}
private void StartPlay(String url)
{
MediaController mc = new MediaController(this, false);
mc.setAnchorView(vid);
mc.setMediaPlayer(vid);
vid.setMediaController(mc);
Uri video = Uri.parse(url);
vid.setVideoURI(video);
vid.requestFocus();
vid.setKeepScreenOn(true);
vid.setOnPreparedListener(new OnPreparedListener()
{
@Override
public void onPrepared(MediaPlayer mp)
{
if (pDialog.isShowing())
pDialog.dismiss();
vid.start();
}
});
vid.setOnErrorListener(new OnErrorListener()
{
@Override
public boolean onError(MediaPlayer mp, int what, int extra)
{
if (pDialog.isShowing())
pDialog.dismiss();
Intent data = PlayerActivity.this.getIntent();
data.putExtra(EXTRA_MESSAGE_TITLE, getString(R.string.title_MediaPlayerError));
data.putExtra(EXTRA_MESSAGE, getString(R.string.message_MediaPlayerError));
setResult(RESULT_CODE_ERROR, data);
PlayerActivity.this.finish();
return false;
}
});
}
Now I know that an error happens, and dialog dismissed. What does this error means? Can I fix it?
12-09 15:27:18.160: E/WindowManager(2277): Activity myapp.PlayerActivity has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView@4189cc40 that was originally added here
12-09 15:27:18.160: E/WindowManager(2277): android.view.WindowLeaked: Activity myapp.PlayerActivity has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView@4189cc40 that was originally added here
12-09 15:27:18.160: E/WindowManager(2277): at android.view.ViewRootImpl.<init>(ViewRootImpl.java:438)
12-09 15:27:18.160: E/WindowManager(2277): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:292)
12-09 15:27:18.160: E/WindowManager(2277): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:224)
12-09 15:27:18.160: E/WindowManager(2277): at android.view.WindowManagerImpl$CompatModeWrapper.addView(WindowManagerImpl.java:149)
12-09 15:27:18.160: E/WindowManager(2277): at android.view.Window$LocalWindowManager.addView(Window.java:558)
12-09 15:27:18.160: E/WindowManager(2277): at android.app.Dialog.show(Dialog.java:316)
12-09 15:27:18.160: E/WindowManager(2277): at android.app.ProgressDialog.show(ProgressDialog.java:130)
12-09 15:27:18.160: E/WindowManager(2277): at android.app.ProgressDialog.show(ProgressDialog.java:113)
12-09 15:27:18.160: E/WindowManager(2277): at myapp.PlayerActivity.onCreate(PlayerActivity.java:44)
12-09 15:27:18.160: E/WindowManager(2277): at android.app.Activity.performCreate(Activity.java:5084)
12-09 15:27:18.160: E/WindowManager(2277): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1079)
12-09 15:27:18.160: E/WindowManager(2277): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2044)
12-09 15:27:18.160: E/WindowManager(2277): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2105)
12-09 15:27:18.160: E/WindowManager(2277): at android.app.ActivityThread.access$600(ActivityThread.java:136)
12-09 15:27:18.160: E/WindowManager(2277): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1201)
12-09 15:27:18.160: E/WindowManager(2277): at android.os.Handler.dispatchMessage(Handler.java:99)
12-09 15:27:18.160: E/WindowManager(2277): at android.os.Looper.loop(Looper.java:137)
12-09 15:27:18.160: E/WindowManager(2277): at android.app.ActivityThread.main(ActivityThread.java:4803)
12-09 15:27:18.160: E/WindowManager(2277): at java.lang.reflect.Method.invokeNative(Native Method)
12-09 15:27:18.160: E/WindowManager(2277): at java.lang.reflect.Method.invoke(Method.java:511)
12-09 15:27:18.160: E/WindowManager(2277): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:789)
12-09 15:27:18.160: E/WindowManager(2277): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:556)
12-09 15:27:18.160: E/WindowManager(2277): at dalvik.system.NativeStart.main(Native Method)
12-09 15:27:18.330: E/MediaPlayer(2277): Uri is http://192.168.105.34/hls/ilook.m3u8
12-09 15:27:18.330: D/MediaPlayer(2277): Couldn't open file on client side, trying server side
12-09 15:27:18.440: D/MediaPlayer(2277): start() mUri is http://192.168.105.34/hls/ilook.m3u8
12-09 15:27:18.460: D/MediaPlayer(2277): start() mUri is http://192.168.105.34/hls/ilook.m3u8
12-09 15:27:49.230: E/MediaPlayer(2277): Uri is http://192.168.105.34/hls/ilook.m3u8
12-09 15:27:49.230: D/MediaPlayer(2277): Couldn't open file on client side, trying server side
12-09 15:27:49.420: D/MediaPlayer(2277): start() mUri is http://192.168.105.34/hls/ilook.m3u8
12-09 15:27:49.430: D/MediaPlayer(2277): start() mUri is http://192.168.105.34/hls/ilook.m3u8
12-09 15:27:49.680: E/MediaPlayer(2277): Uri is http://192.168.105.34/hls/ilook.m3u8
12-09 15:27:49.680: D/MediaPlayer(2277): Couldn't open file on client side, trying server side
12-09 15:27:49.780: D/MediaPlayer(2277): start() mUri is http://192.168.105.34/hls/ilook.m3u8
12-09 15:27:49.790: D/MediaPlayer(2277): start() mUri is http://192.168.105.34/hls/ilook.m3u8
12-09 15:27:52.410: D/MediaPlayer(2277): start() mUri is http://192.168.105.34/hls/ilook.m3u8
error if using getApplicationContext on dialogue creation:
12-09 16:43:08.330: E/AndroidRuntime(6352): FATAL EXCEPTION: main
12-09 16:43:08.330: E/AndroidRuntime(6352): java.lang.RuntimeException: Unable to start activity ComponentInfo{myapp/myapp.PlayerActivity}: android.view.WindowManager$BadTokenException: Unable to add window -- token null is not for an application
12-09 16:43:08.330: E/AndroidRuntime(6352): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2080)
12-09 16:43:08.330: E/AndroidRuntime(6352): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2105)
12-09 16:43:08.330: E/AndroidRuntime(6352): at android.app.ActivityThread.access$600(ActivityThread.java:136)
12-09 16:43:08.330: E/AndroidRuntime(6352): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1201)
12-09 16:43:08.330: E/AndroidRuntime(6352): at android.os.Handler.dispatchMessage(Handler.java:99)
12-09 16:43:08.330: E/AndroidRuntime(6352): at android.os.Looper.loop(Looper.java:137)
12-09 16:43:08.330: E/AndroidRuntime(6352): at android.app.ActivityThread.main(ActivityThread.java:4803)
12-09 16:43:08.330: E/AndroidRuntime(6352): at java.lang.reflect.Method.invokeNative(Native Method)
12-09 16:43:08.330: E/AndroidRuntime(6352): at java.lang.reflect.Method.invoke(Method.java:511)
12-09 16:43:08.330: E/AndroidRuntime(6352): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:789)
12-09 16:43:08.330: E/AndroidRuntime(6352): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:556)
12-09 16:43:08.330: E/AndroidRuntime(6352): at dalvik.system.NativeStart.main(Native Method)
12-09 16:43:08.330: E/AndroidRuntime(6352): Caused by: android.view.WindowManager$BadTokenException: Unable to add window -- token null is not for an application
12-09 16:43:08.330: E/AndroidRuntime(6352): at android.view.ViewRootImpl.setView(ViewRootImpl.java:657)
12-09 16:43:08.330: E/AndroidRuntime(6352): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:326)
12-09 16:43:08.330: E/AndroidRuntime(6352): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:224)
12-09 16:43:08.330: E/AndroidRuntime(6352): at android.view.WindowManagerImpl$CompatModeWrapper.addView(WindowManagerImpl.java:149)
12-09 16:43:08.330: E/AndroidRuntime(6352): at android.app.Dialog.show(Dialog.java:316)
12-09 16:43:08.330: E/AndroidRuntime(6352): at android.app.ProgressDialog.show(ProgressDialog.java:130)
12-09 16:43:08.330: E/AndroidRuntime(6352): at android.app.ProgressDialog.show(ProgressDialog.java:113)
12-09 16:43:08.330: E/AndroidRuntime(6352): at myapp.PlayerActivity.onCreate(PlayerActivity.java:44)
12-09 16:43:08.330: E/AndroidRuntime(6352): at android.app.Activity.performCreate(Activity.java:5084)
12-09 16:43:08.330: E/AndroidRuntime(6352): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1079)
12-09 16:43:08.330: E/AndroidRuntime(6352): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2044)
12-09 16:43:08.330: E/AndroidRuntime(6352): ... 11 more