アンドロイド2.3.5携帯電話で正常に動作するように見えるが、アンドロイド3.0エミュレータでクラッシュするアプリがあります。私は、2つのデバイスの動作の違いを見つけようとするために、数多くのLogcatメッセージを追加しました。アンドロイド3.0の不要なonPauseを診断
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
this.setVolumeControlStream(AudioManager.STREAM_MUSIC);
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.splash);
Thread timer;
timer = new Thread()
{
public void run()
{
try
{
sleep(2600);
}
catch (InterruptedException ex)
{
ex.printStackTrace();
}
finally
{
Intent in;
in = new Intent("android.intent.action.TTMODESELECT");
startActivity(in);
}
}
};
timer.start();
}
protected void onPause()
{
super.onPause();
finish(); // kill the launcher - free its memory
}
私はそれが睡眠を(完成後、始めることがわかり2.3.5デバイス上で実行されている)、その後android.intent起動:奇妙な何かが起こるキーコード(簡体字)はここに私のスプラッシュ画面の活動です。私のsplashscreenクラスのonPauseメソッドは、新しいアクティビティを開始する前に発生するようにfinish()を呼び出すようになりました。
私はこれを修正するために何ができるでしょうか?