`

Android那些事儿之一 多次被启动

 
阅读更多

我们都知道,android在启动时有一个入口Activity,我们一般定义为LaunchActivity,在AndroidManiFest文件中我们一般会

<activity
          android:name=".ui.activity.LaunchActivity"
          android:screenOrientation="portrait"
          android:theme="@style/DVDLaunchActivityTheme">
       <intent-filter>
          <action android:name="android.intent.action.MAIN"/>
          <category android:name="android.intent.category.LAUNCHER"/>
       </intent-filter>
</activity>

 

 

 但是在一些android手机上遇到了一个奇怪的问题:

android某些手机上会让LaunchActivty创建多次,首次下载安装后,用系统弹出来的那个launcher启动(注意不是从桌面启动),这时会打开LaunchActivity+二级页面,这时退到后台(如点击Home),然后再从桌面启动,这时会重新创建一个LaunchActivity(带闪屏)同时onNewIntent方法会被调用,然后新创建的LaunchActivity由于第二个intent的clear top属性而被重新销毁。

     表现上:每次进入应用会出现一个奇怪的闪屏。

这里用这个变量检测出这种奇怪的情况,暂时的处理是关闭初始化数据。

 

private int launchActivityCreateCount;
protected void onCreate(Bundle savedInstanceState) {
    if (launchActivityCreateCount <= 0) {
            setContentView(R.layout.activity_welcome);
        }
        launchActivityCreateCount++;
     }else{
        //暂时直接结束启动页,没什么太好的办法
        finish();
     }
}

同时需要在

protected void onDestory() {
    super.onDestory();
    launchActivityCreateCount--;
}
0
0
分享到:
评论

相关推荐

    android 判断应用是否第一次启动

    在Android开发中,判断应用是否第一次启动是一个常见的需求,这通常用于执行一些初始化操作,比如引导界面、数据初始化或者设置默认值。以下是如何实现这一功能的详细步骤和相关知识点: 一、SharedPreferences ...

    Android 一个app启动另一个app

    综上所述,Android App间的启动与交互是一个涉及多方面技术的知识体系,包括Intent的创建和解析、Intent Filter的配置、安全策略的制定以及文件共享等。开发者在实现这一功能时,应确保用户体验的流畅性,同时注意...

    Android引导界面只启动一次

    Android引导界面只启动一次,引导页,第一次进入启动,以后进入会直接跳过

    Android 开机自启动应用

    在Android系统中,开机自启动应用是指当设备完成启动过程后,系统会自动运行的一类应用程序。这些应用通常会在用户无须手动干预的情况下执行特定任务,例如同步数据、推送通知或者进行后台服务的初始化。"BOOT_...

    Android实现应用程序只启动一次引导界面(源码)

    本文将深入探讨如何在Android项目中实现一个应用程序只启动一次的引导界面,并提供相关源码分析。 首先,我们需要了解引导界面的基本构建。通常,引导界面由一系列静态页面组成,每个页面展示应用的一个关键特性。...

    【Android】开机自启动Service

    在Android系统中,Service是一种可以在后台长时间运行的组件,它不提供用户界面,但可以执行各种任务,如播放音乐、网络通信等。当设备启动时,我们有时希望某些Service能够自动启动,以便立即开始执行预定的任务,...

    android 手机开机启动服务DEMO

    在Android开发中,"android 手机开机启动服务DEMO"是一个常见的应用场景,它涉及到服务(Service)、广播接收器(BroadcastReceiver)以及Android系统的启动流程。这个DEMO包含了一个Activity、一个...

    android 拍照或从本地相册多次添加多张图片

    本文将详细讲解如何实现“android 拍照或从本地相册多次添加多张图片”的功能,这涉及到Android的多媒体访问、意图(Intent)使用以及图片处理等多个知识点。 首先,我们需要理解Android的权限管理。在Android 6.0...

    Android App 启动时显示正在加载图片

    在Android应用开发中,"Android App 启动时显示正在加载图片"是一个常见的用户体验优化策略。这个过程通常称为启动画面或者加载屏幕,它的目的是在应用程序的实际内容加载完成之前,为用户提供一个平滑的过渡,避免...

    android开机自动启动service例子

    本篇文章将详细解释如何在Android中创建一个开机自动启动的服务。 首先,我们需要创建一个新的服务类。在Android Studio中,右键点击`app/src/main/java/your_package_name`,选择`New &gt; Service &gt; Service`,然后...

    Android应用程序启动时背景画面的切换

    在Android开发中,当应用程序启动时,用户通常会看到一个过渡背景画面,这被称为启动屏幕或启动主题。这个过程涉及到Android应用程序的UI设计、主题应用以及活动(Activity)的生命周期管理。下面我们将深入探讨如何...

    Android仿腾讯视频启动页及广告页动画

    android仿腾讯视频启动页及广告页面动画效果实现

    android程序启动页面demo

    在Android应用开发中,启动页面(Splash Screen)通常被用于展示应用的品牌标识、加载必要的数据或者执行初始化操作,为用户提供一个良好的启动体验。本Demo主要针对Android程序启动时可能出现的短暂白屏问题进行...

    android最好的开机自启动项管理软件

    android最好的开机自启动项管理软件,软件暂用资源小,功能强大,绿色无广告~~极力推荐

    android开机启动程序源码

    在Android系统中,开机启动程序源码涉及到一系列复杂的流程和技术,包括系统初始化、服务启动、广播接收器等。本文将深入解析Android系统如何在开机时启动应用程序,并介绍相关的知识点。 一、系统启动流程 1. **...

    使用AlarmManager启动广播、服务、页面(Android定时器)

    在Android开发中,`AlarmManager` 是一个非常重要的系统服务,用于实现应用程序的定时任务,如定期发送数据、唤醒设备、启动服务等。本篇文章将详细介绍如何使用`AlarmManager`来启动广播`BroadcastReceiver`、服务`...

    Android 开机自启动示例程序

    在Android系统中,实现应用开机自启动是一种常见的需求,尤其对于一些服务类或者后台运行的应用来说,能够在设备启动时自动恢复其功能是非常重要的。本文将详细介绍如何创建一个Android开机自启动示例程序,并探讨...

    android本地图库自定义分类 实现一次选取多张照片

    android本地相册自定义分类、一次选择多张照片 因为Android的本地图片没有一次选择多图片的方法. 所以本人就开发了类似 类似仿微信的本地多张图片选择的DEMO. 本DEMO做的非常简单. 移植也好移植. 在DEMO中...

    Android 启动APP时黑屏白屏的解决方案之一

    你会很奇怪,为什么有些app启动时,会出现一会儿的黑屏或者白屏才进入Activity的界面显示,但是有些app却不会如QQ手机端,的确这里要做处理一下。这里先了解一下为什么会出现这样的现象,其实很简单,简历一个简单的...

    Andoid程序第一次启动引导页Demo

    在本文中,我们将深入探讨如何创建一个Android程序的第一次启动引导页,基于"Android程序第一次启动引导页Demo"的项目。 首先,我们要理解引导页的基本组成部分: 1. 图片资源:引导页通常由一系列吸引人的图片...

Global site tag (gtag.js) - Google Analytics