2012-08-24 5 views
-4

코드 :강제 닫기 또 다시

package com.guess.guessthefone; 

import android.media.MediaPlayer; 

import android.os.Bundle; 

import android.app.Activity; 

import android.content.Intent; 

import android.view.Menu; 

public class MainActivity extends Activity { 

MediaPlayer logoMusic; 

    @Override 

    public void onCreate(Bundle savedInstanceState) { 

     super.onCreate(savedInstanceState); 

     setContentView(R.layout.splash); 

     MediaPlayer logoMusic = MediaPlayer.create(MainActivity.this, R.raw.splash_sound); 
     logoMusic.start(); 

     Thread logoTimer = new Thread(){ 

      public void run(){ 


       try{ 
        sleep(2000); 
       Intent MenuIntent = new Intent("com.guess.guessthefone.SPLASH"); 
        startActivity(MenuIntent); 



       } catch (InterruptedException e) { 
        // TODO Auto-generated catch block 
        e.printStackTrace(); 
       } 

       finally{ 


        finish(); 

       } 
      } 

     }; 
     logoTimer.start(); 
    } 




    @Override 

    public boolean onCreateOptionsMenu(Menu menu) { 

     getMenuInflater().inflate(R.menu.activity_main, menu); 

     return true; 
    } 

} 

내 로그 캣의 ouptput은 다음과 같습니다

08-24 16:40:33.558: D/dalvikvm(322): GC_EXTERNAL_ALLOC freed 48K, 53% free 2551K/5379K, external 1625K/2137K, paused 74ms 

08-24 16:40:36.048: W/dalvikvm(322): threadid=9: thread exiting with uncaught exception (group=0x40015560) 

08-24 16:40:36.057: E/AndroidRuntime(322): FATAL EXCEPTION: Thread-10 

08-24 16:40:36.057: E/AndroidRuntime(322): android.content.ActivityNotFoundException: No Activity found to handle Intent { act=com.guess.guessthefone.Menu } 

08-24 16:40:36.057: E/AndroidRuntime(322): at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1409) 

08-24 16:40:36.057: E/AndroidRuntime(322): at android.app.Instrumentation.execStartActivity(Instrumentation.java:1379) 

08-24 16:40:36.057: E/AndroidRuntime(322): at android.app.Activity.startActivityForResult(Activity.java:2827) 

08-24 16:40:36.057: E/AndroidRuntime(322): at android.app.Activity.startActivity(Activity.java:2933) 

08-24 16:40:36.057: E/AndroidRuntime(322): at com.guess.guessthefone.MainActivity$2.run(MainActivity.java:29) 
+7

LogCat은 무엇이라고 말합니까? – Nikhil

+0

미디어 플레이어를 별도의 스레드에 넣으십시오. –

+2

당신을 끌어들이려고하지는 않지만, 문제를 적절하게 설명하고 언제, 어떻게 발생 시키므로이 문제를 해결하기 위해 먼저 노력해야합니다. –

답변

1

변경이.

Intent MenuIntent = new Intent(MainActivity.this,SPLASH.class); 
    startActivity(MenuIntent); 

안드로이드 매니페스트 파일에 SPLASH 활동을 선언했다.

<activity 
     android:name=".SPLASH"/> 
+0

SPLASH를 –

+1

유형으로 해석 할 수 없습니다. 귀하의 두 번째 액티비티 이름을 호출하려고 생각하십니까? SPLASH를 귀하의 전화 활동 이름으로 변경하십시오. –

+0

그래, 그걸 시도 했어. 그것도 여전히 같은 오류. 또 다른 것은 나의 타이머가 2 초 동안이다. 그러나 음악은 2 초 후에 멈춰야하는 반면 응용 프로그램이 강제 종료되면 재생을 계속한다. –

1

MOREOVER 플레이어는 비디오를 재생하기 전에 준비해야합니다. 당신은 만회 준비반

final MediaPlayer logoMusic = MediaPlayer.create(MainActivity.this, R.raw.splash_sound); 
//set your dataSource here 
logoMusic .setOnPreparedListener(new MediaPlayer.OnPreparedListener() { 
    @Override 
    public void onPrepared(MediaPlayer mp) { 
    logoMusic.start(); 
    } 
});