2015-09-24 15 views
7

Sto facendo funzionare l'applicazione da Eclipse ed è di essere lanciato due volte: prima volta lanciare l'applicazione, poi di nuovo il rilancio dopo pochi secondiCome evitare lanciare l'applicazione Android due volte, Correre da Eclipse a vero e proprio dispositivo

mia app Schermata iniziale --- >> Attività principale (Apertura due volte).

ho già provato ad aggiungere android: launchMode = "singleInstance" nel mio file manifest, ma non il successo.

ho provato 3 diverse applicazioni dal mio eclissi ancora l'apertura di due volte nella mia Kitkat, lollipop vero e proprio dispositivo di (nuovo progetto creato quella anche l'apertura di due volte)

EDIT 1:

provato ad aggiungere questa riga nel file manifest ma non Success- android: launchMode = "singleTop"

per favore fatemi sapere Come risolvere questo problema.

manifest:

<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> 

La mia partenza 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

Ho provato 3 diverse applicazioni dalla mia eclissi che si aprono ancora due volte nel mio vero dispositivo Kitkat, lecca-lecca (ho anche creato un nuovo progetto che si apre anche due volte) – Kumar

+0

Hai qualche soluzione? Anch'io sto affrontando lo stesso problema. Per favore aiutami a superare questo problema. –

risposta

2

Inserisci questa da una delle due attività:

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

Questo intent-filtro indica a Android, che è l'attività principale, e dovresti averne uno solo.

+0

non ha funzionato, restano uguali :( – Kumar

+0

ho provato 3 diverse applicazioni dalla mia eclissi ancora aperta due volte nel mio dispositivo reale Kitkat, lecca-lecca (anche creato un nuovo progetto che si apre anche due volte) ma funziona bene nel dispositivo jellybean. – Kumar

1

Applicare il filtro di intent solo in una delle attività. Togliere dal 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

rimangono ancora same :( – Kumar

+0

Puoi inserire il tuo inizio attività snippet codice –

+0

ho aggiunto la mia attività iniziale – Kumar

0

Applicare il seguito per la vostra attività schermata iniziale, quindi pulire il progetto ed eseguire di nuovo ..

tenta di registrare l'attività nel file manifesto con il nome completo del pacchetto.

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

questo potrebbe essere un problema di Eclipse? – Kumar

+0

Ti sei registrato nel dispositivo reale ?? –

+0

ya ho provato nel dispositivo reale, aprendo due volte – Kumar

0

Prova ad aggiungere launchMode "singleTop" nel tuo Manifest alla tua attività.

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

:(Non funziona Rimane lo stesso – Kumar

1

provare questo:

android:launchMode="singleTask" 

Può essere questo funzionerà. Se non funziona, reinstallare eclissi.

+0

Voglio reinstallare t lui eclissi o Sdk? – Kumar

+1

non l'ho provato, ma reinstallare è una scommessa sicura. –