1

メイン アクティビティが開始する前に、小さな画像を表示しようとしていました。これは、Android マニフェストの現在のコーディングです

<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

削除する

<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 に答える
1

<intent-filter>MainActivity 宣言からセクションを削除
し、単純なインテントと startActivity 呼び出しを使用して、splashActivity から MainActivity を起動する必要があります。

于 2013-09-30T15:02:34.293 に答える
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 に答える