項目需求
創建一個不帶啟動圖標的app
項目實現
1.低版本上
在低版本的Android系統上面,可以簡單使用這個,但是現在很多版本都不適用了。
<activityandroid: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.比較推薦
還是在注冊清單文件上面添加這些代碼
<activityandroid:name=".MainActivity"android:enabled="true"android:exported="true"><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /><datatools:ignore="AppLinkUrlError"android:host="MainActivity"android:scheme="com.example.jservice.MainActivity" /></intent-filter></activity>
這樣也能達到效果,親測在Android 9上面可以使用。
3.比較推薦
還是在注冊清單文件上面添加代碼
<activityandroid: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 意圖的默認類別。