【Android】怎么创建一个隐藏图标的应用

项目需求

创建一个不带启动图标的app

项目实现
1.低版本上

在低版本的Android系统上面,可以简单使用这个,但是现在很多版本都不适用了。

        <activity
            android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

这个是我们的入口的Activity,我们可以将这个去掉就可以了

<category android:name="android.intent.category.LAUNCHER" />

这样的话在应用列表是看不到我们的app的图标的,但是在设置-应用列表可以显示。

但是这个现在不太适用了,我们在开发完成,安装app的使用,Android Studio报错

Could not identify launch activity: Default Activity not found
Error while Launching activity
2.比较推荐

还是在注册清单文件上面添加这些代码

        <activity
            android:name=".MainActivity"
            android:enabled="true"
            android:exported="true">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
                <data
                    tools:ignore="AppLinkUrlError"
                    android:host="MainActivity"
                    android:scheme="com.example.jservice.MainActivity" />
            </intent-filter>
        </activity>

这样也能达到效果,亲测在Android 9上面可以使用。

3.比较推荐

还是在注册清单文件上面添加代码

        <activity
            android:name=".MainActivity"
            android:enabled="true"
            android:exported="true">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
                <action android:name="android.intent.action.VIEW" />
                <category android:name="android.intent.category.DEFAULT" />
                <data android:scheme="com.example.jservice.MainActivity" />
            </intent-filter>
        </activity>

这种方式也是可以亲测可行的方式.

PS:代码解释

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

指定该活动作为应用的主入口点,即在应用启动时会打开这个活动。

<category android:name="android.intent.category.LAUNCHER" />

指定这个活动作为启动器活动,将应用放置在设备的应用程序列表中

【data】 元素指定了该活动可以处理的数据方案(scheme)和主机(host):

tools:ignore="AppLinkUrlError"

这是一个工具属性,用于告知开发工具忽略关于应用链接URL错误的检查。

android:host="MainActivity"

指定主机名为 MainActivity。这通常用于定义特定的URI资源。

android:scheme="com.example.jservice.MainActivity"

指定数据方案(scheme)为 com.example.jservice.MainActivity。

<action android:name="android.intent.action.VIEW" />

指定该活动可以处理 VIEW 意图。

<category android:name="android.intent.category.DEFAULT" />

指定 VIEW 意图的默认类别。

  • 16
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值