注初期化できません:私が使用しようとしているがあり類似した多くの疑問があるが、それらの非は私を助けたので、私は私の場合のために再度依頼するdesiced :)XamarinのAndroidアプリのFacebookのSDK
を私のXamarin Android AppにログインするFacebookボタン。 私Login.axmlは、次のようになります。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:minWidth="25px"
android:minHeight="25px">
<com.facebook.login.widget.LoginButton
android:id="@+id/facebookLoginButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="30dp"
android:layout_marginBottom="30dp" />
</LinearLayout>
...
そして、私のクラス私はこのようなルックスのボタンを使用しています:
class FacebookLogin : Activity
{
LoginButton BtnFbLogin;
protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
SetContentView(Resource.Layout.Login);
BtnFbLogin = FindViewById<LoginButton>(Resource.Id.facebookLoginButton);
BtnFbLogin.Click += delegate { LoginToFacebook(); };
}
...
たびに、私は私はアプリを起動しようとすると、次の例外を取得:
I/FacebookInitProvider(4420): Failed to auto initialize the Facebook SDK
I/FacebookInitProvider(4420): A valid Facebook app id must be set in the
AndroidManifest.xml or set by calling FacebookSdk.setApplicationId before initializing the sdk.
I/FacebookInitProvider(4420): at com.facebook.FacebookSdk.sdkInitialize(FacebookSdk.java:275)
I/FacebookInitProvider(4420): at com.facebook.FacebookSdk.sdkInitialize(FacebookSdk.java:231)
I/FacebookInitProvider(4420): at com.facebook.internal.FacebookInitProvider.onCreate(FacebookInitProvider.java:20)
I/FacebookInitProvider(4420): at android.content.ContentProvider.attachInfo(ContentProvider.java:1751)
I/FacebookInitProvider(4420): at android.content.ContentProvider.attachInfo(ContentProvider.java:1726)
I/FacebookInitProvider(4420): at android.app.ActivityThread.installProvider(ActivityThread.java:5853)
I/FacebookInitProvider(4420): at android.app.ActivityThread.installContentProviders(ActivityThread.java:5445)
I/FacebookInitProvider(4420): at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5384)
I/FacebookInitProvider(4420): at android.app.ActivityThread.-wrap2(ActivityThread.java)
I/FacebookInitProvider(4420): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1545)
I/FacebookInitProvider(4420): at android.os.Handler.dispatchMessage(Handler.java:102)
I/FacebookInitProvider(4420): at android.os.Looper.loop(Looper.java:154)
I/FacebookInitProvider(4420): at android.app.ActivityThread.main(ActivityThread.java:6119)
I/FacebookInitProvider(4420): at java.lang.reflect.Method.invoke(Native Method)
I/FacebookInitProvider(4420): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
I/FacebookInitProvider(4420): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
D/Mono (4420): Assembly Ref addref projectname[0x770ab9895a80] -> Mono.Android[0x770aa4e70980]: 19
D/Mono (4420): DllImport searching in: '__Internal' ('(null)').
D/Mono (4420): Searching for 'java_interop_jnienv_get_array_length'.
D/Mono (4420): Probing 'java_interop_jnienv_get_array_length'.
D/Mono (4420): Found as 'java_interop_jnienv_get_array_length'.
Loaded assembly: MonoDroidConstructors [External]
D/Mono (4420): Assembly Ref addref projectname[0x770ab9895a80] -> mscorlib[0x770ab9895700]: 29
D/Mono (4420): Assembly Ref addref projectname[0x770ab9895a80] -> Xamarin.Facebook[0x770aa4e70880]: 2
D/ (4420): HostConnection::get() New Host Connection established 0x770aa3d96560, tid 4420
W/ (4420): Unrecognized GLES max version string in extensions: ANDROID_EMU_CHECKSUM_HELPER_v1
W/ (4420): Process pipe failed
D/Mono (4420): DllImport searching in: '__Internal' ('(null)').
D/Mono (4420): Searching for 'java_interop_jnienv_call_void_method_a'.
D/Mono (4420): Probing 'java_interop_jnienv_call_void_method_a'.
D/Mono (4420): Found as 'java_interop_jnienv_call_void_method_a'.
Unhandled Exception:
Android.Views.InflateException: Binary XML file line #1: Binary XML file line #1: Error inflating class com.facebook.login.widget.LoginButton
基本的には有効なFacebookアプリIDがのAndroidManifest.xmlに設定するか、またはinitializi前FacebookSdk.setApplicationIdを呼び出して設定しなければならないことを言います、 sdk。 XamarinはFacebook SDKを自動初期化するため、ApplicationIdを手動で設定する方法は使用できません。そこで、マニフェストファイルにApplicationIdを設定しました。
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="projectname.projectpackage" android:versionCode="1" android:versionName="1.0" android:installLocation="auto">
<uses-sdk android:minSdkVersion="21" android:targetSdkVersion="23" />
<uses-permission android:name="android.permission.INTERNET" />
<application android:allowBackup="true" android:label="@string/app_name" android:theme="@android:style/Theme.Material.Light"></application>
<meta-data android:name="com.facebook.sdk.ApplicationId"
android:value="@string/facebook_app_id"/> <!--is defined in Strings.xml -->
<activity android:name="com.facebook.FacebookActivity"
android:configChanges=
"keyboard|keyboardHidden|screenLayout|screenSize|orientation"
android:label="@string/app_name" />
<activity
android:name="com.facebook.CustomTabActivity"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="@string/fb_login_protocol_scheme" />
</intent-filter>
</activity>
</manifest>
私は間違っていますか?なぜこの例外が発生するのですか?
:アセンブリレベル属性によって
それは私の問題です!次回は朝に5時まで働かないでね:Dありがとう! – papapple