最近调试App,运行之后一切正常,可是退出App之后,手机桌面上却找不到App的图标。到应用程序里去找,倒是可以找到。
在网上查了一些资料,终于找到原因:
最近在App的启动页添加了Scheme跳转功能,于是在AndroidManifest.xml文件中,启动页的配置如下:
<activity
android:name=".splash.SplashActivity"
android:screenOrientation="portrait"
android:theme="@style/Splash.Fullscreen"
android:windowSoftInputMode="stateAlwaysHidden">
<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" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="thescheme" />
</intent-filter>
</activity>
其中
<intent-filter>
里前面的两项用来表明此Activity是App的启动页, 而后面三项用来定义Activity的scheme跳转。把这些配置一股脑放进一个
<intent-filter>
, 可能会造成覆盖和混乱,具体原因不明了。解决办法是它们分开放到不同的
<intent-filter>
中,如下:
<activity
android:name=".splash.SplashActivity"
android:screenOrientation="portrait"
android:theme="@style/Splash.Fullscreen"
android:windowSoftInputMode="stateAlwaysHidden">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<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:scheme="thescheme" />
</intent-filter>
</activity>
如此,桌面图标就回来了。
参考:
Android程序安装后应用图标不显示的问题
Adding a
data
scheme to the manifest in in the app, hides the app
版权声明:本文为chenrenxiang原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。