现象描述
- 通过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>
本文介绍了一种解决从第三方平台如QQ安装App后启动时重复显示启动界面的问题的方法。通过创建一个新的启动Activity,并配置相应的AndroidManifest文件,可以避免从桌面启动应用时重复实例化导致的闪屏现象。

181

被折叠的 条评论
为什么被折叠?



