2015-09-24 15 views
7

Ich bin mit der Anwendung von Eclipse und es wird zweimal gestartet werden: zum ersten Mal die App startet, dann wieder nach wenigen Sekunden der NeubelebungWie zu vermeiden, zweimal die Applikation für Android starten, Rennen von Eclipse realen Gerät

Meine app Splash Screen --- >> Hauptaktivität (Beide werden zweimal geöffnet).

Ich habe bereits versucht, Android: launchMode = "singleInstance" in meine Manifest-Datei, aber nicht erfolgreich.

i 3 verschiedene Anwendungen von meinem Eclipse versucht habe, noch zweimal in meinem Kitkat öffnen, Lutscher reales Gerät (erstellt neues Projekt, das man auch zweimal zu öffnen)

EDIT 1:

Versuchten Hinzufügen Diese Zeile in Manifest-Datei, aber nicht Erfolg- android: launchMode = "singleTop"

lassen Sie mich bitte wissen, wie Sie dieses Problem lösen.

Manifest-Datei:

<application 
     android:allowBackup="true" 
     android:icon="@drawable/logo" 
     android:label="@string/app_name" 
     android:largeHeap="true" 
     android:launchMode="singleInstance" 
     android:theme="@style/AppTheme2" > 


     <activity 
      android:name=".Start" 
      android:label="@string/app_name" 
      android:screenOrientation="portrait" > 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

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

       <category android:name="android.intent.category.DEFAULT" /> 
      </intent-filter> 
     </activity> 
</application> 

Mein Start Activity.java

public class Start extends Activity 
{ 


     SessionManagerFor_Signin session; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 


     // Session class instance 
     session = new SessionManagerFor_Signin(getApplicationContext()); 

     // Remove the Title Bar 
     requestWindowFeature(Window.FEATURE_NO_TITLE); 
     setContentView(R.layout.start); 


     ImageView Image1=(ImageView)findViewById(R.id.imageView1); 

     //Animation Bottom to Top   
     TranslateAnimation animation2 = new TranslateAnimation(0.0f, 0.0f,400.0f, 0.0f); 

      animation2.setDuration(1000); 
      animation2.setFillAfter(false); 
      Image1.startAnimation(animation2); 


     Thread timer = new Thread() 
     { 

     @Override 
     public void run() 

     { 
      try { 
       sleep(3000); 


      } 
      catch (InterruptedException e) 
      { 
      e.printStackTrace();  

      } 
      finally 
      { 
       session.checkLogin(); 
       finish(); 

      } 

     } 
    }; 
    timer.start(); 


    //For Full Action bar Color Starts 
      if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { 
       setTranslucentStatus(true); 
      } 

      SystemBarTintManager tintManager = new SystemBarTintManager(this); 
      tintManager.setStatusBarTintEnabled(true); 
      tintManager.setStatusBarTintResource(R.color.FUllStartColor); 

    //For Full Action bar Color Ends here   
} 
    @TargetApi(19) 
    private void setTranslucentStatus(boolean on) { 
     Window win = getWindow(); 
     WindowManager.LayoutParams winParams = win.getAttributes(); 
     final int bits = WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS; 
     if (on) { 
      winParams.flags |= bits; 
     } else { 
      winParams.flags &= ~bits; 
     } 
     win.setAttributes(winParams); 
    } 
+0

Ich habe 3 verschiedene Anwendungen aus meiner Eclipse versucht noch zweimal in meinem realen Gerät Kitkat, Lollipop (auch erstellt neues Projekt, das man auch zweimal öffnen) – Kumar

+0

Haben Sie eine Lösung? Ich habe auch dasselbe Problem. Bitte helfen Sie mir, dieses Problem zu lösen. –

Antwort

2

dieses Entfernen von einem der beiden Aktivitäten:

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

Dieser Intent-Filter gibt an, Android, das ist die Hauptaktivität, und Sie sollten nur eine haben.

+0

nicht funktioniert, immer noch gleich :( – Kumar

+0

ich habe versucht, 3 verschiedene Anwendungen aus meiner Eklipse immer noch zweimal in meinem realen Gerät Kitkat, Lollipop (auch neues Projekt, dass man auch zweimal öffnen) aber funktioniert gut in Jellybean-Gerät. – Kumar

1

Wenden Sie den Intent-Filter nur auf eine Ihrer Aktivitäten an. Entfernen von MainActivity ...

<application 
     android:allowBackup="true" 
     android:icon="@drawable/logo" 
     android:label="@string/app_name" 
     android:largeHeap="true" 
     android:launchMode="singleInstance" 
     android:theme="@style/AppTheme2" > 


     <activity 
      android:name=".Start" 
      android:label="@string/app_name" 
      android:screenOrientation="portrait" > 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
     <activity 
      android:name=".MainActivity" 
      android:screenOrientation="portrait" > 

     </activity> 
</application> 
+0

noch bleiben selbe :( – Kumar

+0

Können Sie bitte Ihre Startaktivität Code-Snippet –

+0

Ich meine Startaktivität – Kumar

0

Tragen Sie die unten an deine Aktivität Splash-Screen, dann reinigen Sie das Projekt, und führen wieder ..

Versuchen Sie Aktivität in Manifestdatei mit vollständigen Paketnamen zu registrieren.

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

Dies könnte ein Eclipse-Problem sein? – Kumar

+0

Haben Sie in realen Gerät eingecheckt ?? –

+0

ya Ich habe in realen Gerät getestet, zweimal Öffnen – Kumar

0

Versuchen Sie, launchMode "singleTop" in Ihrem Manifest zu Ihrer Aktivität hinzuzufügen.

<activity 
    android:name="MyActivity" 
    android:launchMode="singleTop" 
    ... > 
+0

:(Funktioniert immer noch gleich – Kumar

1

versuchen Sie dies:

android:launchMode="singleTask" 

Kann dies funktionieren wird. Wenn es nicht funktioniert, dann installieren Sie Eclipse neu.

+0

Ich möchte t neu installieren er Sonnenfinsternis oder Sdk? – Kumar

+1

Ich habe es nicht versucht, aber Neuinstallation ist eine sichere Sache. –