海外のGalaxyTabで、現時点で見つけた問題と解決方法をまとめました。
なお、国内向けに発売されるGalaxyTabでも同様の現象になるかは不明です。
Activityのウィンドウサイズが小さく表示される
このように表示されるアプリがあるみたい。
少し分かり難いですが、ディスプレイサイズよりもActivityサイズが一回り小さい事が、タイトルバーを見て分かるかと思います。
LiveWallpaperでMediaPlayerが再生後エラーになる
これはGalaxySでも同様に発生するようで、SAMSUNG固有のバグっぽい。
途中でstopすればエラーにはならないが、完全に再生し終わったタイミングでnative側でエラーとなる。
解決方法
要は再生終了直前にMediaPlayer#stopすればOK。
方法は何でも良いですが、handlerを使えば楽。
MediaPlayer#getDuration で再生ミリ秒数が取得できるので、鳴り終わる少し前にstop処理させるために調整すればOK。
MediaPlayer mMediaPlayer; private void hoge() { handler = new Handler(); mMediaPlayer = MediaPlayer.create(mContext, R.raw.hoge); handler.postDelayed(mMediaPlayStopper, mMediaPlayer.getDuration() - 適当な数値); } private final Runnable mMediaPlayStopper = new Runnable() { public void run() { mMediaPlayer.stop(); mMediaPlayer.release(); mMediaPlayer = null; } };
なお、ActivityでMediaPlayerを使用しても同様のエラーは発生しません。