2017-10-31 15 views
0

Ich muss die URL gefolgt von einer anderen öffnen, um die vorherige URL für die Anzeige zu entfernen. Die Aktion wird benötigt, um den Browser-Tab zu schließen.Öffnen Sie die URL gefolgt von der zweiten URL

Die erste URL öffnet sich und die zweite ist nicht zu sehen. Wo ich falsch liege?

Uri uri = Uri.parse(URL_STRING); 
    //modified the URL_STRING for security 
    URL_STRING = "https://myserver.com/action"; 
    final Intent intent1 = new Intent(Intent.ACTION_VIEW, uri); 
    intent1.putExtra(Browser.EXTRA_APPLICATION_ID, "toto"); 
    startActivity(intent1); 

    //SystemClock.sleep(1000); 

    String POST_URL = "http://www.google.com"; 
    uri = Uri.parse(POST_URL); 
    final Intent intent2 = new Intent(Intent.ACTION_VIEW, uri); 
    intent2.putExtra(Browser.EXTRA_APPLICATION_ID, "toto"); 

Haben Sie versucht sogar mit unterschiedlichen Werten einen Schlaf zu setzen. Funktioniert nicht.

Antwort

1

Folgen Sie diesem, um zwei URls im externen Browser zu laden.

Deklarieren Sie diese Variablen als globale Variablen.

int count = 0; 
Runnable runnable=null; 
Handler handler = new Handler(); 

Dann rufen Sie diese Methode auf, um die URL im Browser zu laden.

public void goToBrowser() { 
    final Uri[] uri = new Uri[1]; 
    runnable = new Runnable() { 
     public void run() { 
      switch (count) { 
       case 0: 
        String URL_STRING = "https://myserver.com/action"; 
        uri[0] = Uri.parse(URL_STRING); 
        //modified the URL_STRING for security 
        final Intent intent1 = new Intent(Intent.ACTION_VIEW, uri[0]); 
        intent1.putExtra(Browser.EXTRA_APPLICATION_ID, "toto"); 
        startActivity(intent1); 
        break; 
       case 1: 
        String POST_URL = "http://www.google.com"; 
        uri[0] = Uri.parse(POST_URL); 
        final Intent intent2 = new Intent(Intent.ACTION_VIEW, uri[0]); 
        intent2.putExtra(Browser.EXTRA_APPLICATION_ID, "toto"); 
        startActivity(intent2); 
        break; 
      } 

      if (count++ <= 1){ 
       handler.postDelayed(this, 1000); 
      }else { 
       handler.removeCallbacks(runnable); 
      } 

     } 
    }; 
    handler.post(runnable); 
} 
+0

arbeitete wie Charme .. Danke. Habe den Fehler, startActivity nicht für intent2 zu verwenden. Kombiniert auch die Warteaktivität. mit 2000 ms funktioniert es perfekt. –

+0

Froh, dass es dir geholfen hat :) – Anonymous