1
後,我利用Facebook的HTML像我的應用程序打開一個網頁視圖這樣https://developers.facebook.com/docs/plugins/like-button/Facebook的喜歡上的WebView的Android顯示黑屏登錄
web視圖顯示了贊和共享按鈕,但在我登錄到Facebook上,它不會返回到Like和Share按鈕,而是一個空白頁面,分享按鈕可以正常工作。
那麼登錄後如何返回Facebook呢?
public class LikeFacebookActivity extends BaseActivity {
private WebView webView;
private final String URL = "facebookIDhere";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.like_facebook_webview);
webView = (WebView) findViewById(R.id.webView1);
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setAppCacheEnabled(true);
webView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
showLoading();
webView.setWebViewClient(new MyWebViewClient());
webView.loadUrl(URL);
ActionBar actionbar = getActionBar();
actionbar.setCustomView(R.layout.actionbar_top_like_facebook);
actionbar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
Button backButton = (Button) findViewById(R.id.buttonGeneralBack);
backButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
onBackPressed();
}
});
}
@Override
public void onBackPressed() {
finish();
overridePendingTransition(R.anim.animation_slide_from_left,
R.anim.animation_slide_to_right);
}
public class MyWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if(url.contains("something")) return true;
return false;
}
public void onPageFinished(WebView view, String url) {
hideLoading();
}
}
}
谷歌登錄可以使用「PostMessage的」作爲參數的redirectUrl, 更好的方法可能會啓用多窗口,而不是堅持使用webview並處理所有重定向自己。 看到這一個[鏈接](http://stackoverflow.com/questions/12648099/making-facebook-login-work-with-an-android-webview?rq=1) – Longwei
我是一個noobe。剛剛從native.io製作了一個web應用程序。所以我很困惑在哪裏把這個代碼 –
@AkashChauhan這個代碼可能已經過時了,而且這個代碼也用於Android開發(特別是java),如果你想創建像Web應用程序的按鈕,你不應該使用它。 – Casper