2016-07-11 211 views
0

我在模擬器(和手機上)上運行應用程序,並且它在主屏幕中創建2個快捷方式。如果我刪除該應用程序,它將刪除這兩個快捷方式。Android應用程序在主屏幕上創建重複的快捷方式

我的應用程序有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> 

編輯: 檢查此視頻,瞭解當我按照你的sugestions發生什麼:

https://vid.me/onhe

回答

0

移除MainActivity

下面的代碼
<intent-filter> 
    <action android:name="android.intent.action.MAIN" /> 

    <category android:name="android.intent.category.LAUNCHER" /> 
</intent-filter> 

您的SplashScreen將成爲您的應用程序的根本活動...因此,這些參數僅適用於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> 

UPDATE

我檢查你的照片。

我看到你正在更新以下文件:

app/build/intermediates/manifests/full/debug/AndroidManifest.xml 

然而,應用程序/構建文件是一個文件夾中的Android工作室把生成的文件...

嘗試搜索清單中你的源代碼文件夾..喜歡的東西:

app/src/... (or any other folder different from build) 
+0

不工作。當我在android studio上運行時。自動他再次添加: ' ' 我的mainActivity。我不明白爲什麼。 –

+0

@CarlosBranco您是否在應用程序中添加了一些庫?或類似的東西?也許,Android Studio正在合併清單文件與另一個... – W0rmH0le

+0

我的項目是非常小的。 http://i.imgur.com/2Lo80Yl.png 選中此項。嗯,我不明白爲什麼會發生這種情況。 –

0

你的表現應該是一個主要的行動併爲您的應用程序了啓動活動也是一個LAUNCHER意圖過濾器

<intent-filter> 
    <action android:name="android.intent.action.MAIN" /> 
    <category android:name="android.intent.category.LAUNCHER" /> 
</intent-filter> 

僅用於應用程序的根活動。

<?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> 
+0

不工作。每當我運行應用程序時,我的Android工作室都會將添加到所有活動中。 –

相關問題