现象描述
- 通过QQ或者微信下载App并安装
- 点击Home键返回Launch界面
- 点击安装好的软件图标
- 发现软件再次出现启动界面
原因分析
解决办法
新建一个程序入口Activity
/**
* 这个类的职责是:
* 解决从QQ等第三方平台安装后启动会出现重复进闪屏页的bug,
* 避免从桌面启动程序后,会重新实例化入口类的activity
*/
public class LaunchActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if ((getIntent().getFlags() & Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT) == 0) {
// 启动目标Activity
Intent intent = new Intent(this, SplashActivity.class);
startActivity(intent);
}
finish();
}
}
AndroidMainfest.xml配置如下
<!-- 一个没有界面的Activity -->
<activity
android:name=".activity.launch.LaunchActivity"
android:configChanges="orientation|keyboardHidden"
android:launchMode="standard"
android:screenOrientation="portrait"
android:theme="@android:style/Theme.NoDisplay">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>