2013-10-22 7 views
0

일부 안드로이드 매니페스트 및 활동 조정에 대한 질문이 있습니다. 사용자가 앱과 상호 작용할 수있는 기본 활동으로 곧바로 이동하는 앱을 만들었습니다. 나는 앱의 간단한 제목을 표시하는 액티비티를 만들고 싶다. (아마도 사진이 있지만 나중에 ...), 몇 초 후에 메인 액티비티로 전환된다. 내가 지금까지 무엇을 여기에 ...입니다제목 페이지 활동 만들기

TitleActivity :

public class TitleActivity extends Activity { 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_title); 
    try { 
     Thread.sleep(3000); 
    } catch(InterruptedException ex) { 
     Thread.currentThread().interrupt(); 
    } 
    Intent intent = new Intent(this,MainActivity.class); 
    startActivity(intent); 
} 
... 

매니페스트 파일 : 시작할 때 어떻게됩니까

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
package="khandy.application.convertible" 
android:versionCode="1" 
android:versionName="1.0" > 

<uses-sdk 
    android:minSdkVersion="8" 
    android:targetSdkVersion="17" /> 

<application 
    android:allowBackup="true" 
    android:icon="@drawable/ic_launcher" 
    android:label="@string/app_name" 
    android:theme="@style/AppTheme" > 
    <activity 
     android:name="khandy.application.convertible.TitleActivity" 
     android:label="@string/title_activity_title" > 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
    <activity 
     android:name="khandy.application.convertible.MainActivity" 
     android:label="@string/app_name" > 
    </activity> 
... 

내보기/위젯 중 어느 것도 동안 title_activity에 표시 없다는 것입니다 3 초 지연이 발생하면 주요 활동으로 전환됩니다. 그런 다음 안드로이드 뒤로 버튼을 누르면 뷰/위젯과 함께 실행되는 타이틀 액티비티로 후퇴합니다.

  1. 가 어떻게 내보기/위젯이 표시합니까 : 나는

    그래서, 내 질문은 ... 뷰/위젯 내 매우 거친 멀티 스레딩 함께 할 수있는 뭔가가 나타나지 않는 것을 상당히 확신 타이틀 액티비티 이 처음 열릴 때?
  2. 뒤로 버튼을 누르면 앱을 종료하는 기본 활동을 어떻게 설정할 수 있습니까? 즉, 의 뒤로 버튼을 사용하여 Android 홈 화면으로 돌아가려면 어떻게해야합니까?

고마워요! 당신이되는 SplashScreen을 원하는

답변

1

마무리 titleactivity,이 질문 1, 사용 다음 코드

public class SplashScreen extends Activity{ 

private SplashHandler mSplashHandler = new SplashHandler(); 


@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    setContentView(R.layout.splash); 

    mSplashHandler.sendEmptyMessageDelayed(SplashHandler.TIMER_EXPIRED, 5); 
} 




class SplashHandler extends Handler { 
    static final int TIMER_EXPIRED = 100; 
    @Override 
    public void handleMessage(Message msg) { 
     switch (msg.what) { 
     case TIMER_EXPIRED: 
      Intent in = new Intent(SplashScreen.this, nextActivity.class); 
      startActivity(in); 
      finish(); 
      break; 

     default: 
      break; 
     } 
    } 
} 

@Override 
protected void onDestroy() { 
    mSplashHandler = null; 
    super.onDestroy(); 
} 
} 
에 대한 질문 2. 사용

Intent intent = new Intent(this,MainActivity.class); 
startActivity(intent); 
finish(); 

를 해결한다

1

나는 생각한다 mainactivity의 출시 후

public class TitleActivity extends Activity { 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_title); 



     new Handler().postDelayed(new Runnable(){ 
      @Override 
      public void run() { 

       Intent intent = new Intent(TitleActivity.this,MainActivity.class); 
       TitleActivity.this.startActivity(intent); 
       TitleActivity.this.finish(); 
      } 
     }, 3000); 

    } 
}