2013-04-13 2 views
0

스플래시 화면 등으로 내 앱이 제대로 시작된 것 같습니다. 그러나 그것이 6 초 동안 잔다. 그리고 그것이 주된 활동에 들어가기로 결정할 때 app는 어떤 도움이라도 부숴 버린다? 여기 메인 액티비티가 열리지 않습니다.

당신은 UI 스레드가 아닌 다른 스레드에서 활동을 시작할 수 없습니다

package com.hellhogone.multitools; 

import com.hellhogone.multitools.R; 

import android.media.MediaPlayer; 
import android.os.Bundle; 
import android.app.Activity; 
import android.content.Intent; 
import android.view.Window; 
import android.view.WindowManager; 

public class Splash extends Activity{ 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    requestWindowFeature(Window.FEATURE_NO_TITLE); 
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); 
    setContentView(R.layout.splash); 

    MediaPlayer yo = MediaPlayer.create(Splash.this, R.raw.smusic); 
    yo.start(); 

    Thread timer = new Thread(){ 
     public void run(){ 
      try{ 
       sleep(6000); 
      }catch(InterruptedException e){ 
       e.printStackTrace(); 
      }finally{ 
       Intent h1 = new Intent("android.intent.action1.MAINACTIVITY"); 
       startActivity(h1); 
      } 
     } 
    }; 

    timer.start(); 
} 

@Override 
protected void onPause() { 
    // TODO Auto-generated method stub 
    super.onPause(); 
    finish(); 
} 



} 
+0

이 거친 추측입니다 ... 당신은 단지 거기에 등록 ... –

+0

그 등록하지 않을 경우 ... 매니페스트에 다음 활동을 등록했다. – WhiplashOne

답변

1

(android.intent.action1.MAINACTIVIVTY는 "작업이"의도적으로 "조치 1"로 변경되었습니다) 코드 나입니다. 당신이 runOnUiThread()를 사용할 수있는이 문제를 방지하려면 :

}finally{ 
     runOnUiThread(new Runnable() { 
      public void run() { 
       Intent h1 = new Intent("android.intent.action1.MAINACTIVITY"); 
       startActivity(h1); 
      } 
     }); 
    } 
+0

하지만 완벽하게 작동했습니다. – WhiplashOne

+0

나는 여전히 방법으로 오류가 발생합니다. :/ – WhiplashOne

+0

다른 활동과 완벽하게 작동하며 주 활동과는 다릅니다. – WhiplashOne

관련 문제