Ouverture WebView en arrière-plan
C'est la première fois que je demande quelque chose, donc si il ya quelque chose de mal, dites-le moi et les Mauvais d'essayer de les corriger au plus vite.
Nous avons un client qui veut de nous connecter à leurs serveurs avec un natif de l'application pour Android, mais sans nous donner une coutume de le faire. Ils veulent nous utiliser le site web qu'ils ont pour ouvrir une session et, après l'authentification a lieu, de récupérer dans le navigateur XML qui contient les données dont nous avons besoin. Après cela, utiliser les données dans l'application native. Tout cela avec l'utilisateur de ne pas savoir/voir qu'un navigateur est utilisé. Un désordre total à mon humble avis.
Bien sûr, je n'ai jamais essayé cette approche dans le passé et de mes premiers essais me faire sentir comme ce est impossible (ou très difficile) à atteindre. Chaque fois que j'essaie de charger l'URL caché dans un WebView le navigateur par défaut affichera le site web.
Ma principale question est, est-il possible de charger une webview et de travailler avec elle (invoke javascript, etc...) dans le fond?
Merci.
Vous devez vous connecter pour publier un commentaire.
Vous pouvez définir la WebView cachés par défaut avec l'attribut android:visibilité="disparu", d'interagir avec elle au moment de l'exécution, puis quand vous avez besoin de le montrer à l'utilisateur une fois que vous avez chargé les données, il suffit d'appeler setVisibility(View.VISIBLE)
Espérons que cette aide!
Ofc, vous devez utiliser un Fil :
Rappelez-vous, et c'est ce qui est TRÈS important, tu ne peux pas tirer de fil à l'activité principale. Le seul qui peut dessiner à l'écran est la principale activité. Vous pouvez dessiner avec 2 méthodes:
Avec la méthode _mActivity.runOnUiThread(new Runnable() {_ comme dans l'exemple que j'ai mis.
Deux, utiliser un Gestionnaire d'envoyer des messages à partir de thread pour activité principale, avec les informations que vous souhaitez dessiner.
*L'activité principale est l'activité qui son dans l'écran en ce moment, pas la première activité de l'application
new WebView(this)
dans une activité (au lieu de faire d'autres approches que la charge par id) pour le chargement cachéWebView
objet, c'était le seul moyen pour moi d'obtenir une charge de travail correctement. Merci!