Lors de l’achat d’un smartphone Android, au moins un navigateur sera installé par défaut. Il peut s'agir de Google Chrome ou d'un autre navigateur Web développé par le fabricant. Mais, si le navigateur déjà installé ne vous convient pas, vous pouvez en télécharger un autre depuis le Play Market. Si vous disposez de plusieurs applications similaires sur votre appareil, vous devez en sélectionner une à utiliser par défaut. Le reste de l'article décrira les options permettant d'y parvenir.
Navigateur par défaut pour Android
Aujourd’hui, il existe de nombreux navigateurs Web conçus pour les appareils Android. Ils ont tous leurs avantages et leurs inconvénients. Mais malgré leurs différences, vous pouvez en définir un par défaut en utilisant trois méthodes différentes. Chacun d’eux sera décrit en détail plus loin dans l’article.
Méthode 1 : définition des paramètres du système d'exploitation
La méthode la plus populaire et la plus simple pour définir le navigateur par défaut consiste à configurer le système d'exploitation. Pour installer votre navigateur Web principal, procédez comme suit :
- Accédez aux paramètres de votre smartphone depuis l'écran d'accueil ou le menu des applications.
- Élément ouvert "Applications et notifications".
- Faites défiler vers le bas de la liste pour trouver la ligne "Paramètres additionnels". Parfois, vous ne verrez peut-être pas cette section dans la liste, car elle est masquée dans la colonne "Plus".
- Ensuite, sélectionnez une option "Applications par défaut".
- Choisissez une rubrique "Navigateur", afin de définir le navigateur Web par défaut. Vous pouvez également définir les paramètres des messages, du téléphone, de la saisie vocale et bien plus encore.
- Lorsqu'une fenêtre apparaît avec une liste de tous les navigateurs installés, cochez la case à côté de celui que vous souhaitez installer par défaut.
- Vous pouvez maintenant utiliser votre navigateur Web. Tous les liens et messagers seront ouverts à l’avenir dans le navigateur installé.
Cette méthode est vraiment très simple et vous pouvez également définir des paramètres supplémentaires pour votre smartphone.
Méthode 2 : configuration des navigateurs Web
À l'aide des paramètres, vous pouvez définir n'importe quel navigateur par défaut, à l'exception du Google Chrome standard. Vous pouvez effectuer cette procédure en quelques étapes simples. Plus loin dans l'article, en utilisant l'exemple de la version mobile du navigateur Yandex et de MozillaFirefox, toutes les étapes à suivre pour installer le navigateur Web principal seront décrites plus en détail. Pour les autres navigateurs, l'algorithme des actions sera similaire.
- Ouvrez la version mobile du navigateur, dans le coin supérieur ou inférieur droit, cliquez sur les trois points verticaux pour ouvrir le menu.
- Trouver la colonne "Paramètres" ou "Options" et appuyez dessus pour l'ouvrir.
- Recherchez l'élément dans la liste fournie "Défini comme navigateur par défaut" et cliquez dessus. Si vous utilisez le navigateur Yandex, vous pouvez trouver cette section sur la page d'accueil dans le menu de la barre de recherche.
- Ensuite, un onglet apparaîtra sur l'écran sur lequel vous devrez cliquer "Paramètres".
- Vous serez redirigé vers la page des paramètres "Application par défaut". Suivez maintenant les mêmes étapes que celles décrites aux étapes 5, 6 et 7 de la méthode précédente.
Cette option est très similaire à la méthode décrite ci-dessus. Après avoir effectué certaines actions, vous accéderez toujours à la section « Applications par défaut ». Mais si vous préférez cette méthode, vous pouvez définir les paramètres sans quitter le navigateur Web.
Méthode 3 : lien actif
Cette option présente les mêmes avantages que la première méthode décrite. Vous pouvez installer n'importe quel navigateur comme navigateur principal sur votre smartphone, s'il propose une telle option.
Cette méthode n'est pertinente que lorsque vous avez téléchargé un nouveau navigateur depuis le Play Store ou que le navigateur Web principal n'a pas été préalablement installé sur votre téléphone.
- Accédez à l'application qui a un lien actif, cliquez dessus pour y aller. Si une fenêtre apparaît avec une liste d'actions, sélectionnez "Ouvrir".
- Un onglet apparaîtra devant vous dans lequel vous devrez sélectionner un navigateur Web pour ouvrir le lien. Cela devrait être le navigateur que vous souhaitez voir comme navigateur principal sur votre smartphone, puis cochez le bouton "Toujours".
- Le lien sélectionné s'ouvrira dans le navigateur marqué, qui sera défini par défaut.
Malheureusement, cette méthode n'est pas pertinente pour des applications telles que Telegram, VKontakte, etc. Il ne peut pas être utilisé dans toutes les situations. Mais si vous avez récemment installé un navigateur Web ou si les paramètres par défaut ont été supprimés, cette option sera la solution idéale pour vous.
Installation supplémentaire d'un navigateur web pour suivre les liens internes
Certaines applications disposent d'un lecteur de liens intégré appelé WebView. Pour ces programmes, GoogleChrome ou l'outil WebView déjà mentionné ci-dessus est utilisé comme navigateur principal. Si nécessaire, vous pouvez modifier ce paramètre.
Les navigateurs Web connus ne disposent pas de cette fonction, vous devrez donc chercher parmi les navigateurs moins populaires. Vous pouvez choisir des visionneuses de différents fabricants déjà installées dans le shell propriétaire du système d'exploitation Android. Avant de suivre les étapes ci-dessous, assurez-vous que vous disposez d'un menu actif sur votre smartphone. "Pour les développeurs".
Pour remplacer la visionneuse WebView, procédez comme suit :
- Accédez aux paramètres et recherchez l'élément "Système", qui se trouve en bas de la liste.
- Ensuite, ouvrez la section "Pour les développeurs". Vous pouvez également le trouver dans le menu principal des paramètres à la fin de la liste des actions.
- Trouvez maintenant la colonne "Service WebView" et exécutez-le.
- Si plusieurs options de visualisation des services vous sont proposées, sélectionnez celle qui vous convient le mieux en cochant la case.
- Maintenant, tous les liens s'ouvriront dans le navigateur que vous avez choisi.
Visionneuse de liens, très rarement remplacée. Mais vous pouvez utiliser cette option si votre smartphone dispose de l'option décrite ci-dessus.
Cet article décrit toutes les méthodes possibles pour installer le navigateur comme principal pour un smartphone Android. En fonction de la situation, vous pourrez toujours choisir la méthode qui vous convient.
J'ai commencé à apprendre la programmation Android il n'y a pas longtemps. Après qu'Eclips ait produit mon premier Hello Word, j'en ai immédiatement voulu plus : de nombreux projets et idées grandioses ont surgi. L'une de ces idées était d'écrire votre propre navigateur. Je pense que de nombreux programmeurs débutants ont eu ce désir. Voici les exigences que j’ai fixées et ce qui s’est finalement passé.
- Le programme doit ouvrir des liens de réseau mondial et avancer et reculer librement dans les pages ;
- Être capable de télécharger des fichiers et de les renvoyer sur le réseau ;
- Créez des signets et enregistrez-les ;
- Pouvoir télécharger des liens envoyés depuis d’autres applications ;
- Il devrait y avoir un bouton de page d'accueil, un menu avec divers paramètres, etc.
En général, un navigateur à part entière à faire soi-même. Mettons cela dans le code.
Le programme est écrit sur la base de la vue Web standard incluse dans Android. J'utilise Yandex comme page de démarrage, c'est une question de goût. L'activité principale sera MainActivity.
Tout d'abord, nous définissons le balisage XML du fichier -activity_main.xml. Nous utilisons LinearLayout comme conteneur principal - nous y enveloppons la ProgressBar pour afficher le processus de chargement. Ensuite, nous créons un autre conteneur LinearLayout - nous y enveloppons notre Webview et notre FrameLayout (nous l'utilisons pour étendre la vidéo en cours de lecture en plein écran).
Voir le code
LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height= "match_parent" android:orientation="vertical" outils:context=".MainActivity">
Commençons à écrire du code dans MainActivity
Code complet de MainActivity.
Afficher le code complet
Importer java.io.Fichier ; importer android.R.menu ; importer android.annotation.SuppressLint ; importer android.app.ActionBar ; importer android.app.Activity ; importer android.app.AlertDialog ; importer android.app.DownloadManager ; importer android.app.DownloadManager.Request ; importer android.app.KeyguardManager ; importer android.app.SearchManager ; importer android.content.BroadcastReceiver ; importer android.content.Context ; importer android.content.DialogInterface ; importer android.content.Intent ; importer android.content.IntentFilter ; importer android.content.SharedPreferences ; importer android.net.Uri ; importer android.os.Bundle ; importer android.os.Environment ; importer android.os.Parcelable ; importer android.os.PowerManager ; importer android.preference.PreferenceManager ; importer android.provider.MediaStore ; importer android.util.Log ; importer android.view.KeyEvent ; importer android.view.Menu ; importer android.view.MenuItem ; importer android.view.View ; importer android.view.WindowManager ; importer android.webkit.ConsoleMessage ; importer android.webkit.DownloadListener ; importer android.webkit.ValueCallback ; importer android.webkit.WebBackForwardList ; importer android.webkit.WebChromeClient ; importer android.webkit.WebView ; importer android.webkit.WebViewClient ; importer android.widget.FrameLayout ; importer android.widget.SearchView ; importer android.widget.Toast ; importer android.graphics.Bitmap ; importer android.webkit.URLUtil ; classe publique MainActivity extends Activity ( //Variable booléenne pour l'état de la connexion Boolean isInternetPresent = false; ConnectionDetector cd; private WebChromeClient.CustomViewCallback mFullscreenViewCallback; private FrameLayout mFullScreenContainer; private View mFullScreenView; private WebView mWebView; String urload; int cache = 1; SharedPreferences sPref; Activité d'activité finale = this ; Uri public imageUri ; private static final int FILECHOOSER_RESULTCODE = 2888 ; private ValueCallback
Le projet peut être téléchargé
Nous avons déjà commencé à nous doter pleinement de logiciels personnels ; rappelez-vous notre merveilleuse calculatrice et convertisseur. Et dans cette leçon, nous apprendrons à créer un navigateur simple avec lequel surfer sur Internet. D'accord, surfer sur le Web avec son propre navigateur est bien plus agréable que de le faire sur Opera ou Chrome (à peine plus pratique, mais plus agréable :)). Nous créons un nouveau projet, choisissez traditionnellement les noms vous-même. Personnellement, je ne crée pas tout à partir de zéro à chaque fois, mais j'ouvre simplement ce que j'ai et je nettoie tout le code jusqu'à son état d'activité vide d'origine. Faites ce qui vous convient le mieux.
Alors, décrivons brièvement la portée et les spécificités des travaux ultérieurs. Nous devons créer un élément
Commençons. Ouvrir le fichier activité_main.xml. Nous y créons un seul élément
La fenêtre de mise en page ressemblera à ceci :
Après cela, traitons immédiatement du dossier AndroidManifest.xml. Ouvrez-le et ajoutez-y deux lignes, l'une est l'autorisation pour l'application d'utiliser Internet, l'autre change le style de l'application, ou plutôt cache le panneau « Titre » de l'application (le panneau avec le titre de l'application) afin pour fournir à la fenêtre du navigateur plus d'espace pour afficher les pages.
Nous écrivons une ligne pour l'autorisation d'utiliser Internet avant balise d'ouverture
Ajoutons maintenant à la ligne de paramètres de notre Activité commande pour masquer l'en-tête (ligne du bas en gras, c'est aussi en AndroidManifest.xml):
< activity android: name= ".MainActivity" android: label= Android : thème = "@android:style/Theme.NoTitleBar" >Passons maintenant à la partie la plus importante et la plus responsable du travail : l'écriture de code Java. Ouvrez le fichier MainActivity.java et écrivez ce qui suit (les explications sont données dans le code après les signes //, pour ceux qui ne l'ont pas remarqué) :
paquet home.myapplication ; importer android.app.Activity ; importer android.app.AlertDialog ; importer android.content.ContentValues ; importer android.content.Intent ; importer android.database.Cursor ; importer android.database.sqlite.SQLiteDatabase; importer android.database.sqlite.SQLiteOpenHelper; importer android.support.v7.app.ActionBarActivity; importer android.os.Bundle ; importer android.util.Log ; importer android.view.KeyEvent ; importer android.view.Menu ; importer android.view.MenuItem ; importer android.view.View ; importer android.webkit.WebView ; importer android.webkit.WebViewClient ; importer android.widget.Button ; importer android.widget.EditText ; importer android.widget.RadioButton ; importer android.widget.TextView ; la classe publique MainActivity étend l'activité ( // Déclare une variable de type WebView WebView mWeb privé ; // Crée une classe de type navigateur Web (WebViewClient), que l'on configure // par défaut autorisation de traiter tous les liens au sein de cette classe, // sans recourir à des programmes tiers : la classe privée WebViewer étend WebViewClient ( (vue WebView, URL de chaîne ) ( view.loadUrl(url); return true ; ) ) public void onCreate (Bundle savingInstanceState ) ( super. onCreate(savedInstanceState); setContentView(R . layout.activity_main); // Lie la variable de type WebView déclarée à celle que nous avons créée // à l'élément WebView dans le fichier Activity_main.xml : mWeb= (WebView )findViewById(R . id. web); // Nous activons la prise en charge des scripts Java pour cet élément : mWeb. getSettings(). setJavaScriptEnabled(true); // Configure une page qui se chargera au démarrage, vous pouvez saisir n'importe lequel : mWeb. URL de chargement ( "http://developeroleg.ucoz.ru/"); // Configure un navigateur pour notre élément WebView, connecte celui que nous avons créé ci-dessus // Client Web avec lequel les pages seront consultées : mWeb. setWebViewClient(nouveau WebViewer()); ) // Nous écrivons du code pour traiter le clic du bouton retour de l'appareil, ce qui nous permettra d'appuyer sur // utilise le bouton "Retour" pour revenir à la page précédente, plutôt que de simplement fermer les applications. // Il sera fermé avec le bouton "Retour" seulement si on est sur la page d'accueil // la page indiquée ci-dessus :@Override public void onBackPressed() ( if (mWeb. canGoBack()) ( mWeb. goBack();) else ( super. onBackPressed(); ) ) )C'est tout! En fait, tout est assez simple et après quelques travaux, nous avons notre propre navigateur, bien sûr, il est assez simple et n'a aucune option, mais cela suffit amplement pour comprendre l'essence de la création de telles applications.
Cher, je suis étudiant au BCA. Je dois faire un projet pour le dernier semestre. J'ai donc décidé de créer une application Web qui fonctionne sur le système d'exploitation Android, mais je suis tout à fait favorable à cette application. Alors, quelqu'un peut-il m'aider avec ça. J'ai déjà installé tous les outils nécessaires comme jdk, Android SDK 3.0, Eclipse. Mais maintenant, je ne sais pas par où commencer le développement du navigateur. Alors s'il vous plaît, aidez-moi... Je n'ai que 2 mois pour ce projet. Alors est-ce possible dans 2 mois ou pas ?
Cela dépend de ce que vous entendez par conception du navigateur...
Développer un navigateur + un moteur de rendu à partir de zéro demande beaucoup de travail, mais vous pouvez facilement créer un navigateur basé sur Androids WebView à l'aide de WebViewClient et créer une nouvelle interface utilisateur en modifiant la façon dont l'utilisateur interagit avec le navigateur.
Webview dispose de toutes sortes de points d'ancrage pour intercepter les interactions du navigateur, vous pouvez donc facilement l'étendre. Par exemple, vous pouvez permettre à l'utilisateur de retourner des pages (par exemple, Google Fastflip), d'expérimenter la 3D en mappant la page Web rendue dans un espace OpenGL (par exemple, un navigateur de sphère), etc.
Pour commencer, jetez un œil au blog d'Alexander Kmetek et à son projet Mosambro, qui étend le navigateur Android en ajoutant le support des microformats.
Cela ressemble à un très gros projet et vous ne pouvez donc pas partir de zéro et l'enregistrer. Vous devez établir un plan sur la manière dont vous souhaitez mettre en œuvre toutes les parties, rédiger des diagrammes de classe, etc. Si vous êtes étudiant en informatique, vous devez en avoir entendu parler au cours des semestres précédents.
Il faut d’abord se demander si ce projet est réalisable Comme vous pouvez le voir dans les commentaires, la plupart des gens s’accordent sur le fait qu’il ne faut pas sous-estimer cette tâche !
Je vous propose vraiment de comprendre l'ampleur de cette tâche, voici le code source du navigateur Androids vous donnant une idée de sa complexité.
La création d'un navigateur de base pourrait être réalisée en un jour ou deux pour ceux qui ont une expérience en développement Android, tout comme d'autres ont déclaré que WebView fournit presque tout ce dont vous avez besoin pour afficher une page Web. Il y a quelques paramètres pour JavaScript et d'autres fonctions à vérifier, puis après avoir étiqueté le champ de texte principal pour l'URL et le bouton Go, qui est à peu près le navigateur Web principal.
Le vrai travail réside dans tous les paramètres avancés. Construire un navigateur qui rivalise avec les grands peut être un peu difficile pour une personne en quelques mois, mais créer votre propre navigateur qui fonctionne est tout à fait possible. Essayer!
Pour créer un navigateur Web complet sous Android, vous utilisez WebView.
Liaison de code simple :
WebView wv = (WebView)findViewById(R.id.webview1); wv = (WebView) findViewById(R.id.webView1); wv.loadUrl("http://www.apsmind.com");
Android vous permet de créer votre propre fenêtre pour afficher des pages Web ou même de créer votre propre clone de navigateur à l'aide de l'élément. L'élément lui-même utilise le moteur WebKit et possède de nombreuses propriétés et méthodes. Nous nous limiterons à un exemple basique de création d'une application avec laquelle nous pouvons visualiser des pages sur Internet. Les dernières versions utilisent le moteur Chromium, mais il n'y a pas beaucoup de différence pour des tâches simples.
Créons un nouveau projet Mon navigateur et remplacez immédiatement le code dans le fichier de balisage res/layout/activity_main.xml:
Ouvrons maintenant le fichier d'activité MainActivity.java et déclarez le composant, puis initialisez-le - activez la prise en charge de JavaScript et spécifiez la page à charger.
WebView privée WebView ; public void onCreate(Bundle savingInstanceState) ( super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); webView = findViewById(R.id.webView); // activer la prise en charge de JavaScript webView.getSettings().setJavaScriptEnabled(true) ; // spécifie la page de téléchargement webView.loadUrl("http://site/android"); )
Étant donné que l'application utilisera Internet, vous devez définir l'autorisation d'accès à Internet dans le fichier manifeste.
Là, dans le manifeste, nous modifions la ligne de l'écran en supprimant le titre de notre application (en gras) :
Lançons l'application. Nous disposons désormais d’un simple visualiseur de pages Web, mais avec un inconvénient. Si vous cliquez sur un lien, votre navigateur par défaut se lancera automatiquement et la nouvelle page y sera affichée. Plus précisément, c'était comme ça avant. Sur les nouveaux appareils, lorsque vous lancez l'application, le navigateur s'ouvre immédiatement.
Pour résoudre ce problème et ouvrir des liens dans votre programme, vous devez remplacer la classe WebViewClient et laissez notre application gérer les liens. Ajoutons une classe imbriquée dans le code :
La classe privée MyWebViewClient étend WebViewClient ( @TargetApi(Build.VERSION_CODES.N) @Override public boolean ShouldOverrideUrlLoading(WebView view, WebResourceRequest request) ( view.loadUrl(request.getUrl().toString()); return true; ) // Pour anciens appareils @Override public boolean ShouldOverrideUrlLoading(WebView view, String url) ( view.loadUrl(url); return true; ) )
Puis dans la méthode onCréer() définissons une instance MonClientWebView. Il peut être localisé n'importe où après l'initialisation de l'objet :
WebView.setWebViewClient(nouveau MyWebViewClient());
Maintenant dans notre application créée WebViewClient, qui permet à toute URL spécifiée sélectionnée d'être chargée dans le conteneur lui-même, plutôt que de devoir lancer le navigateur. La méthode est responsable de cette fonctionnalité, dans laquelle nous spécifions l'URL actuelle et souhaitée. Valeur de retour vrai signifie que nous n'avons pas besoin de lancer un navigateur tiers, mais que nous téléchargerons indépendamment le contenu à partir du lien. Dans la version API 24, une version surchargée de la méthode a été ajoutée, merci d'en tenir compte.
Relancez le programme et assurez-vous que les liens sont désormais chargés dans l'application elle-même. Mais maintenant, un autre problème est apparu. Nous ne pouvons pas revenir à la page précédente. Si nous appuyons sur le bouton RETOUR de notre appareil, nous fermerons simplement notre application. Pour résoudre le nouveau problème, nous devons appuyer sur le bouton RETOUR. Ajoutez une nouvelle méthode :
@Override public void onBackPressed() ( if(webView.canGoBack()) ( webView.goBack(); ) else ( super.onBackPressed(); ) )
Nous devons vérifier ce qui prend en charge la navigation vers la page précédente. Si la condition est vraie alors la méthode est appelée retourner(), ce qui nous ramène à la page précédente. S'il existe plusieurs pages de ce type, nous pouvons alors revenir séquentiellement à la toute première page. Dans ce cas, la méthode renverra toujours la valeur vrai. Lorsque nous reviendrons à la toute première page à partir de laquelle nous avons commencé notre voyage sur Internet, la valeur reviendra FAUX et appuyer sur le bouton RETOUR sera traité par le système lui-même, ce qui fermera l'écran de l'application.
Relancez l'application. Vous disposez désormais de votre propre navigateur Web, vous permettant de suivre des liens et de revenir à la page précédente. Après avoir étudié la documentation, vous pouvez équiper l'application d'autres friandises savoureuses pour votre navigateur.
Si vous avez besoin que certains des liens menant à votre site soient ouverts dans le navigateur et que des liens locaux soient ouverts dans l'application, utilisez une condition avec des valeurs de retour différentes.
La classe publique MyWebViewClient étend WebViewClient ( @Override public boolean ShouldOverrideUrlLoading(WebView view, String url) ( if(Uri.parse(url).getHost()..ACTION_VIEW, Uri.parse(url)); view.getContext().startActivity (intention); return true; ) )
Une méthode universelle qui ouvrira tous les liens locaux dans l'application, le reste dans le navigateur (on change une ligne) :
La classe publique MyAppWebViewClient étend WebViewClient ( @Override public boolean ShouldOverrideUrlLoading (WebView view, String url) ( if(Uri.parse(url).getHost().length() == 0)( return false; ) Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url)); view.getContext().startActivity(intent); renvoie vrai ; ) )
Compliquons maintenant un peu l'exemple pour que l'utilisateur dispose d'une alternative aux navigateurs standards.
Pour que ce soit plus clair, réorganisons l'exemple comme suit. Créez deux activités. Sur la première activité, placez un bouton pour accéder à la deuxième activité, et sur la deuxième activité, placez un composant.
Dans le manifeste, nous spécifions un filtre pour la deuxième activité.
Code du bouton pour accéder à la deuxième activité.
Public void onClick(View view) ( Intent intent = new Intent("ru.alexanderklimov.Browser"); intent.setData(Uri.parse("http://site/android/")); startActivity(intent); )
Nous avons créé notre propre intention avec un filtre et fourni des données : l'adresse du site Web.
La deuxième activité doit recevoir des données :
Paquet ru.alexanderklimov.testapplication ; importer android.net.Uri ; importer android.support.v7.app.AppCompatActivity ; importer android.os.Bundle ; importer android.webkit.WebView ; importer android.webkit.WebViewClient ; la classe publique SecondActivity étend AppCompatActivity ( @Override protected void onCreate(Bundle savingInstanceState) ( super.onCreate(savedInstanceState); setContentView(R.layout.activity_second); Uri url = getIntent().getData(); WebView webView = findViewById(R.id.webView); webView.setWebViewClient(new Callback()); webView.loadUrl(url.toString()); ) la classe privée Callback étend WebViewClient ( @Override public boolean ShouldOverrideUrlLoading (WebView view, String url) ( return(false); ) ) )
Dans le filtre de la deuxième activité, nous avons spécifié deux actions.
Cela signifie que n'importe quelle activité (lire : application) peut déclencher l'activité de votre mini-navigateur de la même manière. Lancez n'importe quel ancien projet dans le studio dans une fenêtre séparée ou créez-en un nouveau, ajoutez-y un bouton et écrivez le même code que celui que nous avons utilisé pour cliquer sur le bouton.
Lancez la deuxième application (la première application peut être fermée) et cliquez sur le bouton. Vous ne lancerez pas la première application avec l'écran de démarrage, mais immédiatement la deuxième activité avec un mini-navigateur. De cette façon, n'importe quelle application peut lancer un navigateur sans connaître le nom de la classe de votre activité, mais en utilisant uniquement la chaîne "ru.alexanderklimov.Browser", transmis à Intention. Dans ce cas, l'activité de votre navigateur doit avoir une catégorie et des données par défaut. Laisse-moi te rappeler:
Vous pouvez représenter votre chaîne sous la forme d'une constante de chaîne et indiquer à tous les utilisateurs potentiels de votre navigateur comment ils peuvent l'exécuter eux-mêmes. Mais Android a déjà une telle constante toute faite ACTION_VIEW, qui selon la documentation est le suivant :
Finale statique publique java.lang.String ACTION_VIEW = "android.intent.action.VIEW";
Réécrivons le code du bouton dans la deuxième application
Intent(android.content.Intent.ACTION_VIEW, Uri.parse("http://site/android/")); startActivity (intention);
Que va-t-il se passer cette fois-ci ? Nous rappelons que nous avons deux actions prescrites, dont android.intent.action.VIEW. Cela signifie que notre première application avec un navigateur doit également reconnaître cette commande lorsqu'une application utilisateur utilise ce code. L'émulateur possède au moins un de ces programmes "Navigateur", et maintenant notre deuxième activité de la première application y a été ajoutée. Un choix de deux applications apparaîtra à l'écran.
Et si vous supprimez tous les navigateurs alternatifs et ne laissez que votre programme, vous n'aurez pas le choix. Votre navigateur deviendra le principal. Et si une application souhaite lancer une page Web de la manière spécifiée, votre programme s'ouvrira.
Une petite remarque. Si vous remplacez la dernière ligne par ceci :
StartActivity(Intent.createChooser(intent, "Meow..."));
Ensuite, dans la fenêtre de sélection du programme, au lieu de la ligne supérieure « Ouvrir avec » ou de sa traduction locale, votre ligne apparaîtra. Mais ce n’est pas l’essentiel. Si, pour une raison quelconque, il n'y a pas un seul navigateur sur l'appareil, cette version du code ne provoquera pas le crash de l'application, contrairement à la version originale. Par conséquent, utilisez l’option proposée par souci de fiabilité.