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