Android 应用程序创建两个启动器图标而不是一个
Android Application Creating Two Launcher Icons instead of One
我有一个奇怪的问题,在安装应用程序时我看到两个图标,一个启动应用程序,另一个在我单击它时显示 "App is not installed"。
我确定我只有一个 intent-filter
标签包含
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
我什至检查了中介文件夹中合并的最终 AndroidManifest.xml,但我仍然没有看到另一个 android.intent.category.LAUNCHER
。
这是我的主要内容AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.example.package">
<uses-permission
android:name="android.permission.GET_ACCOUNTS"
tools:remove="android:maxSdkVersion" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_SYNC_SETTINGS" />
<uses-permission android:name="android.permission.WRITE_SYNC_SETTINGS" />
<uses-permission android:name="android.permission.READ_SYNC_STATS" />
<uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS" />
<application
android:name=".App"
android:allowBackup="false"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme"
tools:replace="android:allowBackup">
<activity
android:name=".activity.LauncherActivity"
android:label="@string/app_name"
android:theme="@android:style/Theme.NoDisplay">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".activity.VerificationActivity"
android:label="@string/app_name"
android:theme="@style/AppTheme.Verification" />
<activity
android:name=".activity.HomeActivity"
android:label="@string/app_name"/>
<activity
android:name="com.facebook.FacebookActivity"
android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation"
android:label="@string/app_name"
android:theme="@android:style/Theme.Translucent.NoTitleBar" />
<activity
android:name=".activity.MallActivity"
android:parentActivityName=".activity.HomeActivity" />
<activity android:name=".activity.StoreActivity" />
<activity
android:name=".activity.EnclosedFragmentActivity"
android:theme="@style/AppTheme"
android:windowSoftInputMode="adjustPan" />
<provider
android:name=".provider.MallBuddyProvider"
android:authorities="com.example.package"
android:exported="false"
android:syncable="true" />
<activity
android:name=".activity.SearchActivity"
android:launchMode="singleTop"
android:theme="@style/AppTheme">
<intent-filter>
<action android:name="android.intent.action.SEARCH" />
</intent-filter>
<meta-data
android:name="android.app.searchable"
android:resource="@xml/searchable" />
</activity>
<service android:name=".sync.AuthenticatorService"
android:exported="false">
<intent-filter>
<action android:name="android.accounts.AccountAuthenticator" />
</intent-filter>
<meta-data
android:name="android.accounts.AccountAuthenticator"
android:resource="@xml/authenticator" />
</service>
<service
android:name=".sync.SyncService"
android:exported="true"
android:process=":sync">
<intent-filter>
<action android:name="android.content.SyncAdapter" />
</intent-filter>
<meta-data
android:name="android.content.SyncAdapter"
android:resource="@xml/syncadapter" />
</service>
<meta-data
android:name="com.facebook.sdk.ApplicationId"
android:value="@string/facebook_app_id" />
</application>
当您在 activity 标签中多次使用以下代码时,通常会出现此类问题。
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
从出现两次的 activity 标记中删除此行。
我在设备上测试应用程序时有时会遇到这种情况,重新启动设备会删除损坏的设备,从而解决问题。
不过,我不知道是什么原因导致这个损坏的第二个启动器图标。
这个问题是在为我的两个构建变体之一更改清单文件后出现的。我在那里重构 activity 个名称,忘记更改第二个文件。
也更改了那里的所有内容后,此问题已修复。
我有一个奇怪的问题,在安装应用程序时我看到两个图标,一个启动应用程序,另一个在我单击它时显示 "App is not installed"。
我确定我只有一个 intent-filter
标签包含
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
我什至检查了中介文件夹中合并的最终 AndroidManifest.xml,但我仍然没有看到另一个 android.intent.category.LAUNCHER
。
这是我的主要内容AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.example.package">
<uses-permission
android:name="android.permission.GET_ACCOUNTS"
tools:remove="android:maxSdkVersion" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_SYNC_SETTINGS" />
<uses-permission android:name="android.permission.WRITE_SYNC_SETTINGS" />
<uses-permission android:name="android.permission.READ_SYNC_STATS" />
<uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS" />
<application
android:name=".App"
android:allowBackup="false"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme"
tools:replace="android:allowBackup">
<activity
android:name=".activity.LauncherActivity"
android:label="@string/app_name"
android:theme="@android:style/Theme.NoDisplay">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".activity.VerificationActivity"
android:label="@string/app_name"
android:theme="@style/AppTheme.Verification" />
<activity
android:name=".activity.HomeActivity"
android:label="@string/app_name"/>
<activity
android:name="com.facebook.FacebookActivity"
android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation"
android:label="@string/app_name"
android:theme="@android:style/Theme.Translucent.NoTitleBar" />
<activity
android:name=".activity.MallActivity"
android:parentActivityName=".activity.HomeActivity" />
<activity android:name=".activity.StoreActivity" />
<activity
android:name=".activity.EnclosedFragmentActivity"
android:theme="@style/AppTheme"
android:windowSoftInputMode="adjustPan" />
<provider
android:name=".provider.MallBuddyProvider"
android:authorities="com.example.package"
android:exported="false"
android:syncable="true" />
<activity
android:name=".activity.SearchActivity"
android:launchMode="singleTop"
android:theme="@style/AppTheme">
<intent-filter>
<action android:name="android.intent.action.SEARCH" />
</intent-filter>
<meta-data
android:name="android.app.searchable"
android:resource="@xml/searchable" />
</activity>
<service android:name=".sync.AuthenticatorService"
android:exported="false">
<intent-filter>
<action android:name="android.accounts.AccountAuthenticator" />
</intent-filter>
<meta-data
android:name="android.accounts.AccountAuthenticator"
android:resource="@xml/authenticator" />
</service>
<service
android:name=".sync.SyncService"
android:exported="true"
android:process=":sync">
<intent-filter>
<action android:name="android.content.SyncAdapter" />
</intent-filter>
<meta-data
android:name="android.content.SyncAdapter"
android:resource="@xml/syncadapter" />
</service>
<meta-data
android:name="com.facebook.sdk.ApplicationId"
android:value="@string/facebook_app_id" />
</application>
当您在 activity 标签中多次使用以下代码时,通常会出现此类问题。
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
从出现两次的 activity 标记中删除此行。
我在设备上测试应用程序时有时会遇到这种情况,重新启动设备会删除损坏的设备,从而解决问题。
不过,我不知道是什么原因导致这个损坏的第二个启动器图标。
这个问题是在为我的两个构建变体之一更改清单文件后出现的。我在那里重构 activity 个名称,忘记更改第二个文件。
也更改了那里的所有内容后,此问题已修复。