Java 不显示异步启动活动

Java 不显示异步启动活动,java,android,android-asynctask,Java,Android,Android Asynctask,我将SplashActivity设置为第一个在应用程序启动时注册的活动。然后,在AsyncTask的postExecute方法中,我启动一个新的intent,将您带到MainActivity。为什么这不起作用?我没有一个例外。该应用程序只会打开到我的MainAcitvity。。。也许我需要清理重建项目几次 清单: <activity android:name=".activity.SplashActivity" android:con

我将SplashActivity设置为第一个在应用程序启动时注册的活动。然后,在AsyncTask的postExecute方法中,我启动一个新的intent,将您带到MainActivity。为什么这不起作用?我没有一个例外。该应用程序只会打开到我的MainAcitvity。。。也许我需要清理重建项目几次

清单:

    <activity
            android:name=".activity.SplashActivity"
            android:configChanges="keyboardHidden|orientation|screenSize"
            android:label="@string/app_name"
            android:launchMode="singleTask"
            android:screenOrientation="portrait" >
            <intent-filter>
                <action android:name="android.intent.action.SEND" />
                <category android:name="android.intent.category.DEFAULT" />
                <data android:mimeType="image/*" />
            </intent-filter>
        </activity>
    <activity
        android:name=".activity.MainActivity"
        android:configChanges="keyboardHidden|orientation|screenSize"
        android:label="@string/app_name"
        android:launchMode="singleTask"
        android:screenOrientation="portrait" >
    </activity>
public class SplashActivity extends Activity {

    private static final int SPLASH_SHOW_TIME = 40800;

    @Override protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        this.requestWindowFeature(Window.FEATURE_NO_TITLE);
        this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
        setContentView(R.layout.splash);
        new BackgroundSplashTask().execute();
    }

    private class BackgroundSplashTask extends AsyncTask<Void, Void, Void> {

        @Override
        protected void onPreExecute(){
            super.onPreExecute();
        }

        @Override
        protected Void doInBackground(Void... arg0) {
            try {
                Thread.sleep(SPLASH_SHOW_TIME);
            } catch (InterruptedException e) {
                e.printStackTrace();
            } return null;
        }

        @Override
        protected void onPostExecute(Void result) {
            super.onPostExecute(result);
            Intent i = new Intent(SplashActivity.this, MainActivity.class);
            startActivity(i); finish();
        }

    }

}

代码:

    <activity
            android:name=".activity.SplashActivity"
            android:configChanges="keyboardHidden|orientation|screenSize"
            android:label="@string/app_name"
            android:launchMode="singleTask"
            android:screenOrientation="portrait" >
            <intent-filter>
                <action android:name="android.intent.action.SEND" />
                <category android:name="android.intent.category.DEFAULT" />
                <data android:mimeType="image/*" />
            </intent-filter>
        </activity>
    <activity
        android:name=".activity.MainActivity"
        android:configChanges="keyboardHidden|orientation|screenSize"
        android:label="@string/app_name"
        android:launchMode="singleTask"
        android:screenOrientation="portrait" >
    </activity>
public class SplashActivity extends Activity {

    private static final int SPLASH_SHOW_TIME = 40800;

    @Override protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        this.requestWindowFeature(Window.FEATURE_NO_TITLE);
        this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
        setContentView(R.layout.splash);
        new BackgroundSplashTask().execute();
    }

    private class BackgroundSplashTask extends AsyncTask<Void, Void, Void> {

        @Override
        protected void onPreExecute(){
            super.onPreExecute();
        }

        @Override
        protected Void doInBackground(Void... arg0) {
            try {
                Thread.sleep(SPLASH_SHOW_TIME);
            } catch (InterruptedException e) {
                e.printStackTrace();
            } return null;
        }

        @Override
        protected void onPostExecute(Void result) {
            super.onPostExecute(result);
            Intent i = new Intent(SplashActivity.this, MainActivity.class);
            startActivity(i); finish();
        }

    }

}
公共类SplashActivity扩展活动{
专用静态最终int SPLASH_SHOW_TIME=40800;
@在创建时覆盖受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
this.requestWindowFeature(Window.FEATURE\u NO\u TITLE);
this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_全屏,WindowManager.LayoutParams.FLAG_全屏);
setContentView(R.layout.splash);
新建BackgroundSplashTask().execute();
}
私有类BackgroundSplashTask扩展了AsyncTask{
@凌驾
受保护的void onPreExecute(){
super.onPreExecute();
}
@凌驾
受保护的Void doInBackground(Void…arg0){
试一试{
线程。睡眠(飞溅显示时间);
}捕捉(中断异常e){
e、 printStackTrace();
}返回null;
}
@凌驾
受保护的void onPostExecute(void结果){
super.onPostExecute(结果);
意图i=新意图(SplashActivity.this、MainActivity.class);
起始触觉(i);完成();
}
}
}

我想您必须将这两行添加到您的清单活动中

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


希望这能有所帮助。

我想您必须将这两行添加到您的活动中

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


希望这有帮助。

在您的
AndroidManifest.xml
文件集SplashActivity中,如下所示:

<activity android:name=".activity.SplashActivity"
        android:configChanges="keyboardHidden|orientation|screenSize"
        android:label="@string/app_name"
        android:launchMode="singleTask"
        android:screenOrientation="portrait" >>
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />

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

AndroidManifest.xml
文件集SplashActivity中,如下所示:

<activity android:name=".activity.SplashActivity"
        android:configChanges="keyboardHidden|orientation|screenSize"
        android:label="@string/app_name"
        android:launchMode="singleTask"
        android:screenOrientation="portrait" >>
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />

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

您的意图过滤器未将启动活动设置为先打开或显示在启动器上。您的意图过滤器未将启动活动设置为先打开或显示在启动器上