通过 Xamarin.Facebook.Android sdk 登录 Facebook
Posted
技术标签:
【中文标题】通过 Xamarin.Facebook.Android sdk 登录 Facebook【英文标题】:Login to Facebook by Xamarin.Facebook.Android sdk 【发布时间】:2016-09-05 18:01:51 【问题描述】:我想使用我的 Xamarin android 应用登录 Facebook。
当我构建我的应用程序时,它显示以下错误
com_facebook_device_auth_dialog_fragment.xml 文件在下面
<android.support.v7.widget.CardView
android:layout_
android:layout_ card_view:cardBackgroundColor="@android:color/transparent"
card_view:cardElevation="10dp"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:card_view="http://schemas.android.com/apk/res-auto">
<LinearLayout android:layout_
android:layout_
android:background="@drawable/com_facebook_auth_dialog_background"
android:orientation="vertical"
xmlns:android="http://schemas.android.com/apk/res/android">
<RelativeLayout android:layout_
android:layout_
android:background="@drawable/com_facebook_auth_dialog_header_background"
android:orientation="horizontal">
<FrameLayout android:layout_
android:layout_>
<ImageView android:layout_
android:layout_
android:layout_marginBottom="11dp"
android:layout_marginLeft="12dp"
android:layout_marginTop="11dp"
android:adjustViewBounds="false"
android:scaleType="fitXY" android:src="@drawable/com_facebook_favicon_white" />
</FrameLayout>
<TextView android:id="@+id/com_facebook_device_dialog_title" android:layout_
android:layout_
android:layout_centerInParent="true"
android:fontFamily="sans-serif-light"
android:gravity="center"
android:text="@string/com_facebook_loginview_log_in_button_long"
android:textColor="@color/com_facebook_share_button_text_color"
android:textSize="13sp" android:typeface="sans" />
</RelativeLayout>
<TextView android:id="@+id/com_facebook_device_auth_instructions"
android:layout_
android:layout_
android:layout_marginEnd="16dp"
android:layout_marginStart="16dp"
android:layout_marginTop="28dp"
android:fontFamily="sans-serif-light"
android:gravity="center_horizontal"
android:singleLine="false" android:textColor="@color/com_facebook_device_auth_text"
android:textSize="14sp"
android:typeface="sans" />
<RelativeLayout android:layout_
android:layout_
android:layout_gravity="center_horizontal"
android:layout_marginTop="14dp">
<TextView android:id="@+id/confirmation_code"
android:layout_
android:layout_
android:layout_gravity="center_horizontal"
android:fontFamily="sans-serif-light"
android:textColor="@color/com_facebook_device_auth_text"
android:textSize="23sp"
android:typeface="sans"
android:visibility="invisible" />
<ProgressBar android:id="@+id/progress_bar"
style="@android:style/Widget.Holo.Light.ProgressBar"
android:layout_
android:layout_
android:layout_alignBottom="@+id/confirmation_code"
android:layout_alignTop="@+id/confirmation_code"
android:layout_centerHorizontal="true"
android:layout_centerInParent="true"
android:layout_centerVertical="true" />
</RelativeLayout>
<FrameLayout android:layout_
android:layout_
android:layout_marginBottom="14dp"
android:layout_marginTop="17dp">
<Button android:id="@+id/cancel_button"
android:layout_
android:layout_
android:layout_gravity="center_horizontal"
android:background="@drawable/com_facebook_auth_dialog_cancel_background"
android:clickable="true"
android:focusable="true"
android:fontFamily="sans-serif-medium"
android:text="@android:string/cancel"
android:textAllCaps="true"
android:textColor="@color/com_facebook_device_auth_text"
android:textSize="10sp"
android:textStyle="bold"
android:typeface="sans" />
</FrameLayout>
</LinearLayout>
</android.support.v7.widget.CardView>
我在我的 string.xml 文件中以这种格式提供了 APP-ID
<string name="facebook_app_id">APP-ID</string>
我的 AndroidMainifest.xml 文件是
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="EcoFriend.EcoFriend" android:versionCode="1" android:versionName="1.0" android:installLocation="auto">
<uses-sdk android:minSdkVersion="16" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<application android:label="EcoFriend">
<meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/facebook_app_id" />
</application>
我安装的 SDK 是
a) Xamarin.Inc 的 Xamarin.Facebook.Android。 v 4.13.2
b)Xamarin.Inc v23.4.0.1 的 Xamarin.Android.Support.v4
c)Xamarin.Android.Support.v7.CardView by Xamarin Inc. v23.4.0.1
d)Xamarin.Inc v1.4.0 的螺栓
如何解决这个问题?
【问题讨论】:
【参考方案1】:只需更改:
card_view:cardBackgroundColor="@android:color/transparent"
card_view:cardElevation="10dp"
到:
app:cardBackgroundColor="@android:color/transparent"
app:cardElevation="10dp"
还要补充:
xmlns:app="http://schemas.android.com/apk/res-auto"
在
<android.support.v7.widget.CardView...
你会很高兴的。
【讨论】:
以上是关于通过 Xamarin.Facebook.Android sdk 登录 Facebook的主要内容,如果未能解决你的问题,请参考以下文章
java是通过值传递,也就是通过拷贝传递——通过方法操作不同类型的变量加深理解