2016-07-11 2 views
0

Я запускаю приложение на эмуляторе (и на телефонах), и он создает 2 ярлыка на рабочем столе. Если я удалю приложение, он удалит оба ярлыка.Приложение для Android создает дублированный ярлык на домашнем экране

Мое приложение имеет на splash screen, затем перейдите на главный экран, и я использую андроид-студию.

Я считаю, связано с <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> 

EDIT: Проверьте это видео, чтобы понять, что происходит, когда я следовать вашим 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

Dont work. Когда я нажимаю RUN на студии Android. Автоматический он добавить еще раз: '<намеренного фильтра> <действие андроида: имя = "android.intent.action.MAIN"/> <категории андроид: имя = "android.intent.category.LAUNCHER"/> ' К моей основной деятельности. Я не понимаю, почему. –

+0

@CarlosBranco Добавляете ли вы некоторую библиотеку в свое приложение? Или что-то типа того? Возможно, Android Studio объединяет файл манифеста с другим ... – W0rmH0le

+0

Мой проект довольно маленький. http://i.imgur.com/2Lo80Yl.png Проверьте это. Хм, я не понимаю, почему это происходит. –

0

манифеста должен быть одно основного действия, а также один Спусковые пристального фильтра, который начинает деятельность для applicaiton

<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-студия добавляет <намерение-фильтр> ко всей активности каждый раз, когда я удаляю ее при запуске приложения. –

Смежные вопросы