热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Android怎样使应用安装后不在launcher上显示图标

参考了网上很多方法,最后找到了这样一种方法,既可以隐藏launcher中App的图标,又可以通过隐式启动的方式启动起该App中的指定Activity,好了直接进入主题。 子app的

参考了网上很多方法,最后找到了这样一种方法,既可以隐藏launcher中App的图标,又可以通过隐式启动的方式启动起该App中的指定Activity,好了直接进入主题。

 

子app的工程名叫app:

AndroidManifest.xml中定义如下:

 

 

  1. android:allowBackup="true"

  2. android:icon="@mipmap/ic_launcher"

  3. android:label="@string/app_name"

  4. android:supportsRtl="true"

  5. android:theme="@style/AppTheme">

  6. android:name=".MainActivity"

  7. android:label="@string/app_name"

  8. android:theme="@style/AppTheme.NoActionBar">

  9.  

 

主app的名叫host:

在点击button的时候进行跳转,使用隐式启动方式Uri.parse(“com.example.hyy://AuthActivity”),唤起子app中的MainActivity,写法如下:

 

 

  1. public void onClick(View view) {

  2. Intent intent = new Intent();

  3.  
  4. // ComponentName cn = new ComponentName("com.example.hyy.myapplication","com.example.hyy.myapplication.MainActivity");

  5. // intent.setComponent(cn);

  6. // intent.setAction("android.intent.action.MAIN");

  7.  
  8. Uri data = Uri.parse("com.example.hyy://AuthActivity");

  9. intent.setData(data);

  10.  
  11. try {

  12. startActivityForResult(intent, RESULT_OK);

  13. } catch (Exception e) {

  14. Toast.makeText(MainActivity.this, "没有该子APP,请下载安装",Toast.LENGTH_SHORT).show();

  15. }

  16. }

当然也可以使用我注释掉的传统的通过setComponent的方式去启动,效果是一样的。

 

为什么加入这个之后app就不显示图标了呢?
因为我们把app的入口Activity申明为由接收隐士的Intent来启动,这样自然也就不会显示图标了。
如果需要显示图标的话而且也必须响应上述Uri的话,那么我们可以在该Activity中再加入一个intent-filter标签,将data元素移到新建的标签中。
这样应用既可以显示图标又可以响应特定的Uri了。


推荐阅读
author-avatar
我家在波力牧场
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有