项目需求: 通过隐藏图标、无启动界面以及进程隐藏的方式,尽可能降低APP的存在感。
一、入口图标隐藏(适用于Android 10以下)
查阅了很多资料,个人感觉比较靠谱的一种方法是使用隐式启动的方法去隐藏入口图标,具体操作如下。
首先在AndroidManifest.xml文件下找到MainActivity,在 <intent-filter> 标签下添加以下内容:
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:host="www.abc.com"
android:path="/person"
android:scheme="myapp" />
其中
- <category android:name=“android.intent.category.BROWSABLE” />表示可以通过浏览器启动APP
- <data android:scheme=“myapp” />表示APP注册的scheme启动方式
- **<data>**下属性的内容可根据需求进行修改
这样APP安装后就不会有入口图标了,但是我们如何打开这个APP呢?
有以下3个方案可供参考。
(1)利用隐式启动从其他APP打开该APP的一个Service并设置开机自启动
使用该方法必须在AndroidManifest.xml文件下隐式启动的Service下添加*android:exported=“true”*这一属性,并在 <intent-filter> 标签下添加<action android:name=“com.abc.info” />。
<service
android:name=".CommucationService"
android:enabled="true"
android:exported="true">
<intent-filter>
<action android:name="com.abc.info" />
</intent-filter>
</service>
之后在其他APP中添加如下代码以打开该Service。
Intent intent