2017-09-19 1 views
1

J'ai développé une application webview Android, et tout est bien workong. Mais à l'intérieur du site, vous pouvez vous connecter via un bouton facebook, qui fonctionne dans tous les navigateurs, mais pas dans l'application webview. Juste quand je clique sur le bouton de connexion facebook, une page blanche apparaît.page blanche en essayant de faire une connexion facebook à l'intérieur d'une application web android

D'autres ont des problèmes assez similaires à moi, mais ils peuvent charger la page Facebook à la place de moi.

J'ai aussi essayé avec ceux-ci ajoute:

myWebView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true); 

et

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { 
    CookieManager.getInstance().setAcceptThirdPartyCookies(myWebView, true); 
} 

Je veux aussi ouvrir interne, puis rediriger automatiquement vers la page de connexion de mon site. Peut-être devrais-je aussi dire que la page de connexion Facebook s'ouvre avec un popup et cela semble être un problème.

+0

Avez-vous la fonction shouldOverrideUrlLoading? – Steven

+0

Oui, je gère ici comment ouvrir des annonces ou d'autres applications. – electromomo

Répondre

0

Essayez quelque chose comme le code ci-dessous. Vous obtiendrez une réponse erronée et vous connaîtrez le problème.

private void load webPage(){ 
     private WebView mWebview=null ; 

     mWebview = new WebView(this); 

     mWebview.getSettings().setJavaScriptEnabled(true); // enable javascript 

     final Activity activity = this; 

     mWebview.setWebViewClient(new WebViewClient() { 
      public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) { 
       Toast.makeText(getApplicationContext(), description, Toast.LENGTH_SHORT).show(); 
      } 
     }); 

     mWebview.loadUrl("YOUR URL"); 
     setContentView(mWebview); 

    } 
} 
+0

qu'est-ce que je dois vraiment ajouter? si c'est l'onReceivedError, j'ai essayé mais il y a quelque chose qui ne va pas (en rouge souligné). – electromomo

+0

@electromomo J'ai édité le code et j'ai passé le contexte. S'il vous plaît vérifier et laissez-moi savoir si cela fonctionne ou non? – Kuls

+0

merci, je l'ai ajouté mais rien ne s'est vraiment passé. maintenant, nous avons essayé de changer le bouton fb lui-même à l'intérieur du site, maintenant son ouverture d'une page facebook, mais il est écrit que l'URL est bloquée. – electromomo

1

Essayez de changer le code suivant même que

public class MainActivity extends ActionBarActivity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     WebView htmlWebView = (WebView)findViewById(R.id.webView); 
     htmlWebView.setWebViewClient(new CustomWebViewClient()); 
     WebSettings webSetting = htmlWebView.getSettings(); 
     webSetting.setJavaScriptEnabled(true); 
     webSetting.setDisplayZoomControls(true); 
     htmlWebView.loadUrl("https://inducesmile.com/blog"); 
    } 
    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     // Inflate the menu; this adds items to the action bar if it is present. 
     getMenuInflater().inflate(R.menu.menu_main, menu); 
     return true; 
    } 
    @Override 
    public boolean onOptionsItemSelected(MenuItem item) { 
     // Handle action bar item clicks here. The action bar will 
     // automatically handle clicks on the Home/Up button, so long 
     // as you specify a parent activity in AndroidManifest.xml. 
     int id = item.getItemId(); 

     //noinspection SimplifiableIfStatement 
     if (id == R.id.action_settings) { 
      return true; 
     } 

     return super.onOptionsItemSelected(item); 
    } 

    private class CustomWebViewClient extends WebViewClient{ 
     @Override 
     public boolean shouldOverrideUrlLoading(WebView view, String url) { 
      view.loadUrl(url); 
      return true; 
     } 
    } 
} 
+0

J'ai importé android.view.menu et menuitem, mais il y a encore deux erreurs à cause du symbole "menu" dans inflate (R ...) et aussi "action_settings". – electromomo

+0

si vous ne pouvez pas utiliser le menu s'il vous plaît supprimer ce code qui est utile pour vous suivez seulement cette section pas de problème –

+0

désolé alors il n'y a rien d'utile pour moi – electromomo

0

Nous venons de changer le site de connexion facebook, il apparaît coutume maintenant dans un pop-up. Bute theres est toujours un petit problème, après que vous vous connectez sur facebook, il vous ramène au site de connexion principal. Il semble que la connexion n'a pas été réussie, mais elle l'est. vous devez aller sur le site principal par exemple pour voir que vous êtes connecté. Peut-être que quelqu'un sait pourquoi?