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

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


子app的工程名叫app:

AndroidManifest.xml中定义如下:

<application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity
            android:name=".MainActivity"
            android:label="@string/app_name"
            android:theme="@style/AppTheme.NoActionBar">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.DEFAULT"/>
                <category android:name="android.intent.category.LAUNCHER" />
                <data android:host="AuthActivity" android:scheme="com.example.hyy"></data>

            </intent-filter>
        </activity>
    </application>


主app的名叫host:

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

 public void onClick(View view) {
                Intent intent = new Intent();

//                ComponentName cn = new ComponentName("com.example.hyy.myapplication","com.example.hyy.myapplication.MainActivity");
//                intent.setComponent(cn);
//                intent.setAction("android.intent.action.MAIN");

                Uri data = Uri.parse("com.example.hyy://AuthActivity");
                intent.setData(data);
                
                try {
                    startActivityForResult(intent, RESULT_OK);
                } catch (Exception e) {
                    Toast.makeText(MainActivity.this, "没有该子APP,请下载安装",Toast.LENGTH_SHORT).show();
                }
            }

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


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

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值