2016-11-18 172 views
0

我尝试在应用程序启动时放置图像。我有MainActivity,使第二acivity这样的:应用程序启动时没有启动活动

public class SplashActivity extends Activity 
{ 
    private static final long DELAY = 3000; 
    private boolean scheduled = false; 
    private Timer splashTimer; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) 
    { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.splash); 

     splashTimer = new Timer(); 
     splashTimer.schedule(new TimerTask() 
     { 
      @Override 
      public void run() 
      { 
       SplashActivity.this.finish(); 
       startActivity(new Intent(SplashActivity.this, MainActivity.class)); 
      } 
     }, DELAY); 
     scheduled = true; 
    } 

    @Override 
    protected void onDestroy() 
    { 
     super.onDestroy(); 
     if (scheduled) 
      splashTimer.cancel(); 
     splashTimer.purge(); 
    } 
} 

SplashAcitivity.xml我补充一下:

android:background="@drawable/my_image" 

和OFC我复制my_image到文件夹绘制

Android的工作室没有下划线在我的代码,似乎好,但是当我运行这个应用程序时,应用程序像以前一样工作,只用MainActivity。没有想法从我如何解决它。

+0

SplashActivity.this.finish();在startActivity之后调用此方法,并将splashactivity设置为在启动程序中显示或不显示? – Bali

回答

0

您编辑AndroidManifedst以在MainActivity之前运行splashScreen?

你需要进行改变,你有

<activity 
    android:name=".MainActivity" 
    android:label="@string/app_name" > 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.LAUNCHER" /> 
    </intent-filter> 
</activity> 

您需要更改

<category android:name="android.intent.category.LAUNCHER" /> 

<category android:name="android.intent.category.DEFAULT" /> 

,并在闪屏把

<category android:name="android.intent.category.LAUNCHER" /> 
+0

只有当我把它放在SplashScreen中'这是正常的吗? – patrick1980

+0

是的,您需要复制活动代码,但将MainActivity更改为Default并将SplashScreen设置为启动器 – BrunoM24

相关问题