Ouvrir une activité Android webview par un lien web
RésoluDoubleface2022 Messages postés 12 Date d'inscription Statut Membre Dernière intervention -
Bonsoir à tous, j'ai un problème sous Android et sollicite l'aide de ceux ayant traversé cette étape sous Android webview. J'ai 2 activités créées sous Android, A1 et A2 , A1 possède webview 1 et A2 possède webview 2, j'ai créé dans A1 un shouldoverloading (view view, string URL) qui ouvre l'activité A2 en cliquant sur le lien web affiché à l'intérieur de webview 1 mais ceci ouvre parfaitement A2 sans charger ce lien dans webview 2 de A2 mais ouvre webview 2 vide et charge le lien plutôt toujours dans webview 1 de A1. Comment récupérer mon lien du clic pour charger plutôt dans webview 2 lors de l'ouverture de A2? Merci
- Ouvrir une activité Android webview par un lien web
- Comment ouvrir un fichier epub ? - Guide
- Créer un lien pour partager des photos - Guide
- Comment ouvrir un fichier bin ? - Guide
- Web office - Guide
- Lien url - Guide
3 réponses
Merci infiniment BunoCS, ça marché, l'union fait la force . Je n'avais pas eu l'idée cette ligne ????
Intent1.putExtra(A2.URL_KEY,url1);
C'est son absence qui chargeait mon A2 dans un ensemble vide de webview 2.
Merci infiniment
Hello,
Il faut que tu passes l'URL dans les paramètres de l'Intent. Ensuite, dans A2, tu récupères cette URL et tu load la WebView
Bonjour et merci pour la réaction, j'avais tenté cette possibilité sans résultat attendu. Voici mon code pour être explicite
Webview1.setwebViewClient(New WebviewClient(){ @Override Public boolean shouldOverrideUrlLoading(Webview view, String url1){ if(uri.parse(url1).getHost().startsWith("file:///")){ Return false; } Intent intent1=New Intent(Intent.Action_View, uri.parse(url1),getApplicationContext(),A2.class); startActivity(intent1) view.loardUrl(url1); Return true; }) })
Lorsque je lance mon debug , en cliquant sur le lien web chargé dans mon activité A1, l'activité A2 est bien lancé mais sans charger le contenu du lien sur le quel j'ai chargé, comment demander à A2 de récupérer automatiquement mon lien pour charger dans webview 2 ? Je peux avoir comment sera sera mon A2? Je sens qu'il y a un truc qui cloche, mon lien charge toujours webview 1 de A1 et non webview 2 de A2, le grand problème est de savoir comment construire mon A2 avec ce paramètre de url1 qui est dans A1
Ce que tu fais ici, c'est de lancer l'Activity2 et, tout de suite après, loader la WebView courante avec l'url récupérée.
Ce que tu dois faire, c'est de passer l'url à l'Activity2 via l'Intent, la récupérer dans le onCreate() de l'Activity2 et loader la WebView.
Dans Activity1:
Webview1.setwebViewClient(new WebviewClient(){ @Override public boolean shouldOverrideUrlLoading(Webview view, String url1){ if(uri.parse(url1).getHost().startsWith("file:///")){ return false; } Intent intent1=new Intent(getApplicationContext(), A2.class); intent1.putExtra(A2.URL_KEY, url1); startActivity(intent1); return true; }) })
Dans Activity2
public class A2 extends AppCompatActivity { public static final String URL_KEY = "url_key"; private String url; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.layout_a2); Bundle extra = getIntent().getExtras(); if (extra != null){ url = (String) extra.getString(URL_KEY); } // blabla // création de la webview webView.loadUrl(url); } //... }
Bah oui...Il ne faut pas jute "avoir l'idée", il faut aussi lire la doc quand même
https://developer.android.com/reference/android/content/Intent
Merci du lien