1

我试图在我的主要活动开始之前显示一个小图像。这是我当前在 android manifest 中的编码

<application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >

        <activity
            android:name=".Splash"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            android:name=".MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="com.example.test.MAINACTIVITY" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>
    </application>

无论我做什么,我的启动画面都不会启动。他们分开开始,但从不一起开始,(我还没有在我的启动图像中放置一个计时器,因为我想检查它是否有效并且它不工作)

4

4 回答 4

1

尝试这个。

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

Splash 类的代码-

package com.example.test;
import android.app.Activity; 
import android.os.Bundle; 
public class Splash extends Activity 
{ 
@Override 
protected void onCreate(Bundle savedInstanceState) 
{ // TODO Auto-generated method stub 
super.onCreate(savedInstanceState); 
setContentView(R.layout.splash); 

final Handler handle = new Handler();
Runnable delay = new Runnable() {
public void run() {
startActivity(new Intent(Splash.this, MainActivity.class));
                finish();
            }
        };
        handle.postDelayed(delay,5000);
} 
}

它的下一个意图延迟 5 秒。你可以根据你设置时间。

于 2013-09-30T15:11:07.127 回答
1

您应该 <intent-filter>从 MainActivity 声明中删除该部分,
并使用简单的意图和 startActivity 调用从 splashActivity 启动 MainActivity。

于 2013-09-30T15:02:34.293 回答
1

消除

<intent-filter>
    <action android:name="com.example.test.MAINACTIVITY" />
    <category android:name="android.intent.category.DEFAULT" />
</intent-filter>

在所需时间后在初始屏幕中使用以下代码

Intent intent=new Intent(this,MAINACTIVITY.class);
startActivity(intent);
finish();  //To close splashscreen when MAINACTIVITY loads

上面的代码以启动画面开始,一段时间后开始你的主要活动

于 2013-09-30T15:01:33.337 回答
0

用这个:

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

和这个 :

public class Splash extends Activity {

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

    final Handler handler = new Handler();
    handler.postDelayed(new Runnable() {
        public void run() {
            Intent mInHome = new Intent(Splash.this, MainActivity.class);
            Splash.this.startActivity(mInHome);
            Splash.this.finish();
        }
    }, 3000);
}
}
于 2013-10-01T07:01:41.447 回答