android 打开不同启动页_android 退出应用打开启动页 - CSDN
精华内容
参与话题
  • 博主最近公司拿了别人的项目,二次开发,原项目时每次点击都会启动启动页,那么这是个很烦的问题,如果有手势密码的话有时候可能连续创建两次,解两次锁,很麻烦的问题,因此我查阅了相关资料,我们需要做的就是在...

    博主最近公司拿了别人的项目,二次开发,原项目时每次点击都会启动启动页,那么这是个很烦的问题,因此我查阅了相关资料,我们需要做的就是在启动页的代码中添加如下代码即可注意在

    setContentView(R.layout.launch_layout);的上面

    if ((getIntent().getFlags() & Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT) != 0) {
                finish();
                return;
            }

    再在配置文件中吧启动模式改为标准或者去掉
    android:launchMode="standard"
    就可以避免重复创建activity

    展开全文
  • Android 全面屏启动页适配的一些坑

    千次阅读 2018-08-23 11:02:58
    code小生,一个专注 Android 领域的技术平台作者:RmondJone链接:https://www.jianshu.com/p/ab0344bda165声明:本文...
        

    code小生,一个专注 Android 领域的技术平台

    作者:RmondJone
    链接:https://www.jianshu.com/p/ab0344bda165
    声明:本文已获RmondJone授权发表,转发等请联系原作者授权

    全面屏适配的坑

    1、关于全面屏适配的一些基本知识点

    我所以写这篇文章是因为这个坑一般人不一定能发现,在解决过程中也百度了很多资料,都没有找到答案,最后是我机缘巧合解决掉了,其中的原理知识大致理解不一定深。网上关于全面屏适配的资料有很多,这里给大家介绍一个。大家自己去看:https://blog.csdn.net/guolin_blog/article/details/51763825

    2、坑

    很多人也许和我一样就是在应用启动特别慢的情况下(Application耗时时间比较长),会用一张图片应用到启动Activity的Theme上,就像下面这样,来达到一点应用图标及打开应用的效果,不会出现白屏和黑屏的现象。网上说是冷启动优化,其实就是自己骗自己,治标不治本的方法。

    <application
            android:name=".App"
            android:largeHeap="true"
            android:hardwareAccelerated="true"
            android:allowBackup="true"
            android:icon="@mipmap/ic_launcher"
            android:label="@string/app_name"
            android:roundIcon="@mipmap/ic_launcher_round"
            android:supportsRtl="true"
            android:theme="@style/AppTheme">

            <activity
                android:name=".MainActivity"
                android:theme="@style/MainTheme"
                android:windowSoftInputMode="adjustPan"
                >

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

                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
            </activity>
            <!--region 适配全面屏-->
            <meta-data
                android:name="android.max_aspect"
                android:value="2.4" />

            <!--endregion-->
        </application>
    <?xml version="1.0" encoding="utf-8"?>
    <resources>
        <style name="MainTheme" parent="Theme.AppCompat.Light.NoActionBar">
            <item name="android:navigationBarColor">@android:color/transparent</item>
            <item name="android:statusBarColor">@android:color/transparent</item>
            <item name="android:windowTranslucentNavigation">true</item>
            <item name="android:windowTranslucentStatus">true</item>
            <item name="android:windowFullscreen">true</item>
            <item name="android:windowBackground">@mipmap/iv_startup</item>
        
    </style>
    </resources>

    乍一看这么写完全没有问题,android:windowTranslucentNavigation和android:windowTranslucentStatus 都设置为 true 之后,android:navigationBarColor 和 android:statusBarColor 设置为透明之后,就应该只展现图片了啊,不会有啥状态栏和导航栏。

    640

    而实际展现出来的启动页效果是这样的,虚拟按钮背景照样是浅灰色。

    640

    网上查的那些资料说什么在 Activity 里 onCreate()、onWindowFocusChanged() 或者在 Application 里设置 ActivityLifecycleCallbacks 监听,然后在 onActivityCreated() 用代码设置沉浸式效果,隐藏状态栏和导航栏。这个我想说,根本不适用我这个场景,这个是启动图,Application 的 onCreate() 都没有走完,这个图片就已经展现出来了,代码控制压根没用。

    还有的资料说是添加这行代码

    <item name="android:fitsSystemWindows">true</item>

    还有资料说应用这个样式

    <?xml version="1.0" encoding="utf-8"?>
    <resources>
        <style name="MainTheme" parent="Theme.AppCompat.Light.NoActionBar">
            <item name="android:windowFullscreen">true</item>
            <item name="android:windowDrawsSystemBarBackgrounds">false</item>
            <item name="android:windowBackground">@mipmap/iv_startup</item>
        
    </style>
    </resources>

    第一个压根没有用,在刚启动的时候和上图一样的效果虚拟导航键是浅灰色的,然后走进启动Activity之后,图片完全就被顶上去了,让出了底部虚拟按钮的区域,都被挤变形了。

    第二个设置了压根没有用,android:windowDrawsSystemBarBackgrounds这个属性如果设置为true,那么图片不会被压缩比例,但是会被虚拟导航键挡住。可以理解为虚拟导航键布局浮动在启动图上,启动图全屏充满。并且虚拟导航栏使用的是默认样式。

    640

    如果设置为false,则图片会被展示全部,但是图片会避开虚拟导航键那部分区域不会全屏充满,会被压缩比例展示,这个也是默认属性。如果没有虚拟导航栏那其实就能满足我的要求,但是有的全面屏机型虚拟导航栏是自己设置的,小米手机设置-全面屏-切换,而这个导航键如果不做处理,应用里是一直存在的。

    640

    这个就很坑了,坑在哪里?在这一行

    <item name="android:windowTranslucentNavigation">true</item>
    <item name="android:windowTranslucentStatus">true</item>

    对罪魁元首就是这2行,我是怎么解决这个问题的,很简单。把这2行删掉就行了。就是应用下面的样式:

    <?xml version="1.0" encoding="utf-8"?>
    <resources>

        <style name="MainTheme" parent="Theme.AppCompat.Light.NoActionBar">
            <item name="android:navigationBarColor">@android:color/transparent</item>
            <item name="android:statusBarColor">@android:color/transparent</item>
            <!--windowTranslucentNavigation这个属性设置成true,则navigationBarColor设置会失效-->
            <!--<item name="android:windowTranslucentNavigation">true</item>-->
            <!--<item name="android:windowTranslucentStatus">true</item>-->
            <item name="android:windowFullscreen">true</item>
            <item name="android:windowBackground">@mipmap/iv_startup</item>
        
    </style>
    </resources>

    原因是什么?就是 Android 如果设置过android:windowTranslucentNavigation 和android:windowTranslucentStatus 为 true 之后,android:navigationBarColor 和 android:statusBarColor 都不会生效,默认使用 Android 自带的样式,我的模拟器表现就是浅灰色。

    以上都看完之后,相信大家大致明白了该怎么去适配冷启动图片设置android:navigationBarColor 不起效果的 BUG,但是还有一个就是大家,一定要注意,这也是网上全面屏教程都没有涉及到的知识点,就是 targetSdkVersion 一点要大于等于 21 ,否则你让应用怎么去适配全面屏和沉浸式所属的样式???

    android {
        compileSdkVersion 28
        defaultConfig {
            applicationId "com.foutch.xyz.myapplication"
            minSdkVersion 16
            //targetSdkVersion需要>=21,要不然应用不了V21版本的样式
            targetSdkVersion 21
            versionCode 1
            versionName "1.0"
            testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        }
        buildTypes {
            release {
                minifyEnabled false
                proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            }
        }
    }


    640

    分享技术我是认真的

    展开全文
  • 启动页有一个停留3秒的广告,同时有一个线程在倒计时,现在问题是点击广告进入广告页后线程时间一到还是会打开主页,覆盖掉广告页,请问大佬们这个逻辑应该怎么写?
  • 应用安装后,通过安装界面的打开按钮打开应用,每当应用从后台切换到前台,都会启动欢迎界面。如果是通过点击应用启动,则没有此问题。 解决方案: 在启动界面的onCreate()方法里添加如下代码: if((getIntent()....

    问题描述:

    应用安装后,通过安装界面的打开按钮打开应用,每当应用从后台切换到前台,都会启动欢迎界面。如果是通过点击应用启动,则没有此问题。

    解决方案:

    在启动界面的onCreate()方法里添加如下代码:

    if((getIntent().getFlags() & Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT) != 0){
      finish();
      return;
    }

    通过以上代码此问题得到解决。

    问题分析:

    以上解决方案也是通过百度得到的,给出的解释是点击打开按钮和点击图标启动时,Intent的参数传递的不一样,activity的启动方式不同,导致上述问题的产生。但是并没有人给出具体原因的分析,if语句里的判断条件也不是很理解(貌似此方法还是国外网友给出),暂时归为遗留问题。

    相关知识:

    在理解上述解决方案中,理解Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT时,参考了此文 点击打开链接


    展开全文
  • 第二,我想自己选择都没权利了,下面教大家设置每次启动在欢迎(选择项目的界面)如图: 第一步:选择system setting; 第二部:将第一个红色框里的第一个选择取消掉。 第三部:第二个红色框里的选择中间...

    Android studio 版本:2.0 Beta6

    因为每次打开Android studio的时候都是直接打开上一次的项目,这样非常不方便,第一比较卡;第二,我想自己选择都没权利了,下面教大家设置每次启动在欢迎页(选择项目的界面)如图:


    第一步:选择system setting;

    第二部:将第一个红色框里的第一个选择取消掉。

    第三部:第二个红色框里的选择中间那个选项。


    ok,现在快去试试吧。

    展开全文
  • Android Studio启动时,默认会打开最近最后一次关闭的工程,可是如果我想打开的其他的工程,那么我就只能通过Open打开我想要的工程,此时就打开两个工程了。 所以呢,我想这是在Android Studio在启动时,就直接打开...
  • 在windows系统上的Android studio版本默认打开看到的是上一次最后关闭的页面,虽然有一定便利。但是有时候项目多的时候想切换项目的时候就不太方便了。需要打开项目后再通过file-&gt;open 去打开其他项目。 ...
  • Android启动页面的正确打开方式

    万次阅读 2020-07-21 00:42:47
    但是,对于一些普通的APP,有的也出现等待三秒的启动画面,出现一个大大的logo,好像告诉用户他打开的是什么应用,加深用户的映像,这完全是浪费用户的时间,给用户很差的体验!其实我只想快点进入APP啊!!!下面说...
  • Android在6.0之后就禁止了APP拉起其他的APP,这样子在一些推送服务无法...当然,如果我们打开了APP的自启动权限后是可以收到华为推送和小米推送的,它通过系统把我们的APP启动起来然后就可以收到推送了。当然,要打开
  • Android判断APP是否第一次启动

    万次阅读 2016-03-08 11:37:32
    思想就是利用SharedPreferences进行判断: SharedPreferences setting = getSharedPreferences(SHARE_APP_TAG, 0); Boolean user_first = setting.getBoolean("FIRST",true); if(user_first){//第一次
  • 我的app需要在后台运行,为了防止用户在使用系统的一键清理误操作清理掉需要引导用户进入自启管理页面,但是让用户自己去找那个页面并不现实,很多用户是找不到的,而且不同手机这个白名单的位置也不一样,我现在想...
  • 打开配置在搜索栏中输入 system 点击System Settings 将红框内的勾选去掉。
  • 问题:在欢迎页判断用户是否登录,登录启动 HomeActivity(首页),应用不退出,每次从后台切换到前台都会打开启动页执行 代码,问题来了:之前在其他页面,切换后台,再次打开后会执行欢迎页的代码,又打开了...
  • Flutter 启动页 消除白屏

    万次阅读 2019-07-09 16:36:52
    文章目录Android 启动页IOS 任何一个app基本都会设计一个启动页,今天我们就来看看怎么在flutter项目中设置启动页。 开始的时候我的第一个想法就是把启动页当成一个Widget,先加载这个Widget然后在显示我们的主...
  • 正在运行的Android程序,按home键之后退回到桌面,在次运行程序启动页会再次运行一次。例如:一个android程序包含两个Activity,分别为MainActivity和SplashActivity(也可以是登陆页面等),MainActivity为程序启动...
  • Android 根据apk获取应用包名和启动Activity
  • Android App启动启动界面(Splash)的简单实现

    万次阅读 多人点赞 2017-11-03 17:11:20
    第一步:创建一个Activity第二步:...第三步:将准备好的启动图片放到drawable目录下,并修改Splash的xml布局文件,如下图所示第四步:修改SplashActivity中的代码如下import android.content.Intent;import android.s
  • 问题描述: 第一次启动app(冷启动,如果不明白冷启动和热启动的话,可以百度一下),会出现白屏或者黑屏,而且当代码量增多的时候,出现的时间很长。这样的用户体验多不好。下面我写了一个小例子,先模拟一下该问题...
  • 在我的应用程序图标中有一个常见的菜单。点击一个图标将开始一个活动。如果一个活动正在运行,如何预防它被多次点击重新开始?还有我可以将一个活动的状态设置为onPause,总是让它在前台显示吗?
  • 在IOS系统里,我们打开app都是有启动动画的,这样子在打开一个新窗体,用户感觉有个过渡动画,体验效果很好,不会觉得很突然就冒出一个窗体,下面就实现一个android 的activity启动和关闭动画的例子。 知识点: ...
1 2 3 4 5 ... 20
收藏数 51,758
精华内容 20,703
关键字:

android 打开不同启动页