我在模拟器(和手机)上运行应用程序,它在主屏幕上创建了2个快捷方式。如果我删除了该应用,则会删除这两个快捷方式。
我的应用已经splash screen
然后转到主屏幕,我正在使用android studio。
我认为与<intent-filter>
有关,但每次我在运行应用时删除它都会在<activity>
上再次自动显示。
清单文件:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.epicbit.tecnoprolab"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="15"
android:targetSdkVersion="23" />
<receiver android:name="receiver.NetworkChangeReceiver" >
<intent-filter>
<action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
</intent-filter>
</receiver>
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
<application
android:allowBackup="true"
android:hardwareAccelerated="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme" >
<!-- Splash screen -->
<activity
android:name="com.example.epicbit.tecnoprolab.SplashScreen"
android:label="@string/app_name"
android:theme="@android:style/Theme.Black.NoTitleBar" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name="com.example.epicbit.tecnoprolab.MainActivity"
android:label="@string/app_name"
android:theme="@style/AppTheme.NoActionBar" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
修改 观看此视频,了解我在遵循您的吸烟时会发生什么:
答案 0 :(得分:0)
从MainActivity中删除以下代码
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
您的SplashScreen将成为您应用的Root Activity ...因此,仅SplashScreen需要这些参数。
最终结果
<!-- Splash screen -->
<activity
android:name="com.example.epicbit.tecnoprolab.SplashScreen"
android:label="@string/app_name"
android:theme="@android:style/Theme.Black.NoTitleBar" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name="com.example.epicbit.tecnoprolab.MainActivity"
android:label="@string/app_name"
android:theme="@style/AppTheme.NoActionBar" >
</activity>
<强>更新强>
我检查了你的照片。
我看到您正在更新以下文件:
app/build/intermediates/manifests/full/debug/AndroidManifest.xml
但是,app / build文件是Android Studio放置生成文件的文件夹...
尝试在源代码文件夹中搜索清单。例如:
app/src/... (or any other folder different from build)
答案 1 :(得分:0)
你的清单应该是一个MAIN操作,还有一个LAUNCHER intent-filter,它可以为你的应用程序启动活动
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
仅适用于您的应用程序的root活动。
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.epicbit.tecnoprolab"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="15"
android:targetSdkVersion="23" />
<receiver android:name="receiver.NetworkChangeReceiver" >
<intent-filter>
<action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
</intent-filter>
</receiver>
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
<application
android:allowBackup="true"
android:hardwareAccelerated="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme" >
<!-- Splash screen -->
<activity
android:name="com.example.epicbit.tecnoprolab.SplashScreen"
android:label="@string/app_name"
android:theme="@android:style/Theme.Black.NoTitleBar" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name="com.example.epicbit.tecnoprolab.MainActivity"
android:label="@string/app_name" >
</activity>
</application>
答案 2 :(得分:0)
在我的情况下,在应用升级后创建了重复的图标。在此次升级中,我们介绍了Splash Screen。因为我们已经重命名了启动器活动。我们移动了
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
从MainActivity启动屏幕活动。
在某些手机中,重命名活动会创建重复的图标。 奇怪的。重命名活动在这里有所帮助。
可在OnePlus One手机中重现。