Ouvrir une activité Android webview par un lien web
Résolu/FerméDoubleface2022 Messages postés 12 Date d'inscription mardi 13 septembre 2022 Statut Membre Dernière intervention 24 novembre 2022 - 16 sept. 2022 à 01:27
- Ouvrir une activité Android webview par un lien web
- Android - Guide
- Comment ouvrir un fichier epub ? - Guide
- Créer un lien pour partager des photos - Guide
- Ouvrir un fichier .bin - Guide
- Lien url - Guide
3 réponses
13 sept. 2022 à 16:55
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
13 sept. 2022 à 09:10
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
Modifié le 13 sept. 2022 à 13:58
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
13 sept. 2022 à 15:42
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); } //... }
13 sept. 2022 à 17:08
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
16 sept. 2022 à 01:27
Merci du lien