Android 隐藏App图标并通过其他应用启动

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android 隐藏App图标并通过其他应用启动相关的知识,希望对你有一定的参考价值。

参考技术A 1.设置隐式intent

其中 <category android:name="android.intent.category.LAUNCHER" /> 也可改为 <category android:name="android.intent.category.DEFAULT" /> ,这样就不用注释掉。
scheme随意写,只需在启动时与之相同。
如果Android Studio报错“error running app default activity not found”,则做如下设置:

或者Launch选项选“nothing”

怎样防止App在后台运行,点击应用桌面图标重新启动?

怎样防止App在后台运行,点击App桌面的图标重新启动?


           在项目中,遇到一个问题百思不得其解,那就是:我在app使用过程中,点击了home键,然后去看看微信之类的其他应用,这个时候再点击app桌面的图标,这个时候app是重新启动的,而不是从上次停止的界面开始的。

           对于上面的情况,我觉得既然我的app已经在后台还运行着,为什么就不能继续重上一个界面继续运行,非得从新运行呢。然后我就去查资料解决了这个问题。首先讲讲这个现象的本质。

           原因:当点击app桌面图标时,app默认是任务你要新建一个应用,而不会去判断你后台有没有再运行的相同应用。

        经过实践我发现:当你点击应用桌面图标,应用会重新创建你的app的启动页,然而,你快速的点击返回按钮,你会发现你会回到上一次退出时的界面。经过查阅资料发现,系统会记录你启动acitivity的启动顺序的栈。并且把当前的启动页放到了最上方,如下图所示:        

    注意:资料上面说以前启动的activity都是不在了,只是系统记录了他们启动的顺序,然而你按返回键,系统就会自动的重新创建新的activity,加入当app依次启动了1到11的activity,然而,在11这个activity的时候,你点击了home键、或点击了其他软件如微信qq等,这个时候你的app进入后台,1到11的这些activity其实被系统回收了,但是系统记录了这个activity启动顺序的栈,然后当你回到这个应用时,实际上系统是重新创建了Activity11,然后点击返回键,右重新创建了Activity10,就是这样倒序 创建activity的原理。

          然而,当你把App放入后台时,这个时候点击了app桌面的启动图标,这个时候系统会默认你开启一个新的应用,但是因为一个软件只能在手机上面运行一个,所以,系统发现你之前的app还在后台,这个时候系统会把新创建的activity放到了之前activity栈的顶部,如上图所示的Activity1

        知道了原因之后,我们就好做处理了。

        第一步:查看Activity1的启动模式,如果Activity1的启动模式为singleTask

android:launchMode="singleTask"

以上是关于Android 隐藏App图标并通过其他应用启动的主要内容,如果未能解决你的问题,请参考以下文章

安卓怎么隐藏app图标

如何隐藏android app图标

Android 开发中 通过 getApplicationIcon 获取 应用的图标。

Android如何以编程方式隐藏启动器图标

如何在主菜单android中以隐藏图标模式启动应用程序

如何在android中可见/不可见启动器图标?