Prabir's blog post about Facebook authentication을 따르고 Xamarin Android 기반 애플리케이션에 적용하려고합니다. URL을 생성하도록 정의 된 다음 코드가있는 로그인 페이지가 있습니다. 뷰의 생성에Android Facebook C# 로그인이 내부적으로로드되지 않습니다.
private Uri GenerateLoginUrl(string appId, string extendedPermissions)
{
var parameters = new Dictionary<String, Object>();
parameters.Add("client_id", appId);
parameters.Add ("redirect_uri", "https://www.facebook.com/connect/login_success.html");
parameters.Add("response_type", "token");
parameters.Add("display", "popup");
if (!string.IsNullOrWhiteSpace(extendedPermissions))
parameters.Add("scope", extendedPermissions);
var fb = new FacebookClient();
return fb.GetLoginUrl(parameters);
}
, 나는이 방법을 호출하고 웹보기 요소에 할당 : 뷰에서
var browser = this.FindViewById<WebView>(Resource.Id.LoginView);
Uri url = GenerateLoginUrl("<app id>", "");
browser.LoadUrl (url.ToString());
, 나는 정의 된 다음 한 :
<WebView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/LoginView" />
때 LoadUrl이 호출되면 LoginActivity에 연결된 내보기에 정의 된 WebView 컨트롤을 통해 로그인하지 않고 외부에서 브라우저를 열라는 메시지가 표시됩니다 (Chrome | Firefox | Opera 옵션에서 열림). 나는 여기서 무슨 일이 일어나고 있는지, 왜 이런 일이 일어나고 있는지 모른다. 요청을 웹 뷰 컨트롤 내에서, 응용 프로그램 자체 내에서 그리고 외부에서 표시하지 않으려면 어떻게해야합니까?
흥미 롭습니다. 나는 그것을 오늘 밤에 시험 할 것이다. 고마워. –
그게 전부 고마워요! –