当前位置:   article > 正文

Android怎样使应用安装后不在launcher上显示图标_android launcher不加载某个应用的图标

android launcher不加载某个应用的图标

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


子app的工程名叫app:

AndroidManifest.xml中定义如下:

  1. <application
  2. android:allowBackup="true"
  3. android:icon="@mipmap/ic_launcher"
  4. android:label="@string/app_name"
  5. android:supportsRtl="true"
  6. android:theme="@style/AppTheme">
  7. <activity
  8. android:name=".MainActivity"
  9. android:label="@string/app_name"
  10. android:theme="@style/AppTheme.NoActionBar">
  11. <intent-filter>
  12. <action android:name="android.intent.action.MAIN" />
  13. <category android:name="android.intent.category.DEFAULT"/>
  14. <category android:name="android.intent.category.LAUNCHER" />
  15. <data android:host="AuthActivity" android:scheme="com.example.hyy"></data>
  16. </intent-filter>
  17. </activity>
  18. </application>


主app的名叫host:

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

  1. public void onClick(View view) {
  2. Intent intent = new Intent();
  3. // ComponentName cn = new ComponentName("com.example.hyy.myapplication","com.example.hyy.myapplication.MainActivity");
  4. // intent.setComponent(cn);
  5. // intent.setAction("android.intent.action.MAIN");
  6. Uri data = Uri.parse("com.example.hyy://AuthActivity");
  7. intent.setData(data);
  8. try {
  9. startActivityForResult(intent, RESULT_OK);
  10. } catch (Exception e) {
  11. Toast.makeText(MainActivity.this, "没有该子APP,请下载安装",Toast.LENGTH_SHORT).show();
  12. }
  13. }

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


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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/377083
推荐阅读
相关标签
  

闽ICP备14008679号