vista studio previsualizacion previa muestra diseƱo compartir aparece android facebook webview

previsualizacion - no se ve preview android studio



El cuadro Comentario de Facebook no se muestra en la vista web de Android (1)

En el archivo HTML he usado el plugin de Facebook Social Comment y está funcionando perfectamente, pero cuando intenté mostrar el mismo archivo en android usando webview, solo muestra comentarios, no el cuadro de comentarios y muestra un botón "Iniciar sesión en Facebook para publicar un comentario". Cuando intenté Iniciar sesión, al hacer clic en ese botón, en lugar de mostrar el cuadro de comentarios; la página está siendo redireccionada al perfil de Facebook. Por favor ayuda ...

Aquí está el código:

Código HTML:

<head> <meta content=''website'' property=''og:type''/> <meta content=''http://graph.facebook.com/username'' property=''fb:admins''/> <meta content=''http://example.com/test.html'' property=''og:site_name''/> <meta content=''415944175093180'' property=''fb:app_id''/> <meta content=''Browser Detect'' property=''og:title''/> <meta content=''Tells about Early days'' property=''og:description''/> <meta content=''http://example.com/test.html'' property=''og:url''/> <meta content=''http://example.com/test.html'' property=''og:image''/> </head> <body> <div id="fb-root"></div> <script> window.fbAsyncInit = function() { FB.init({ appId: ''415944175093180'', status: true, cookie: true, xfbml: true,oauth: true}); }; (function() { var e = document.createElement(''script''); e.type = ''text/javascript''; e.src = document.location.protocol + ''//connect.facebook.net/en_US/all.js''; e.async = true; document.getElementById(''fb-root'').appendChild(e); }()); (function(d){ var js, id = ''facebook-jssdk'', ref = d.getElementsByTagName(''script'')[0]; if (d.getElementById(id)) {return;} js = d.createElement(''script''); js.id = id; js.async = true; js.src = "//connect.facebook.net/en_US/all.js"; ref.parentNode.insertBefore(js, ref); }(document)); </script> <fb:comments href="http://example.com/test.html" num_posts="20" width="470" /> </body>

Código de Android:

clase pública SimpleActivity extends Activity {

WebView web1; ViewPager awesomePager; Context cxt; List<WebView> data; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); this.requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.main); cxt = this; data = new ArrayList<WebView>(); awesomePager = (ViewPager) findViewById(R.id.viewPager); awesomePager.setOffscreenPageLimit(10); WebView web1 = new WebView(cxt); web1.loadUrl("http://example.com/test.html"); WebSettings webSettings1 = web1.getSettings(); webSettings1.setJavaScriptEnabled(true); data.add(web1); awesomePager.setAdapter(new AwesomePagerAdapter(this,data));

}


Puede ser que en html "estándar", usando un navegador web, la sesión se guarde de alguna manera para que pueda iniciar sesión en Facebook y puede dejar comentarios como usuarios registrados, incluso si cierra el navegador y lo inicia de nuevo (cookies, "mantenerme conectado, etc.).

El navegador de Android, por otro lado, puede no almacenar / guardar en caché la sesión, la aplicación puede haber sido eliminada, etc. Por lo tanto, es menos propenso a tener una sesión "siempre activada".

Por supuesto, Facebook reconocerá esto y le presentará el formulario de inicio de sesión, porque no puede dejar comentarios como usuario anónimo.

AFAIK una solución sería usar la API de Facebook en lugar del inicio de sesión de Javascript, de modo que su aplicación se autorice permanentemente para acceder a los datos del usuario / publicar comentarios como un usuario registrado.