對於 Android 11,您可以為專案的 AndroidMainfest.xml
加入以下 queries
區塊來解決此問題:
<manifest package="com.example.app"> <queries> <provider android:authorities="com.facebook.katana.provider.PlatformProvider" /> </queries> ... </manifest>
您可在自己的「strings.xml」檔案中提供目標本地語言的翻譯,以覆寫 Android 專用 Facebook SDK 中的字串。
「facebook/res/values/」目錄中的「strings.xml」檔案包含了 SDK 使用的所有字串。字串資源的名稱應可望文生義。
如需詳細資訊,請參閱 Android 開發人員指南:透過資源進行本地化。
Android 程式庫通常會使用「BuildConfig.DEBUG」來判斷應用程式是否處於除錯模式。不過,由於 Gradle 中的錯誤,Android 程式庫總是將「DEBUG」預設為「false」。為了解決這個問題,您可使用「FacebookSdk.setIsDebugEnabled(boolean)」方法,從應用程式直接設定除錯模式。這樣會從 SDK 啟用除錯記錄。
您也可使用「FacebookSdk.addLoggingBehavior(LogginBehavior)」設定記錄行為,以啟用不同類別的訊息記錄。請參閱 Android SDK 參考資料:記錄行為 以瞭解詳情。
用戶執行動作後,分享對話框會在「onSuccess」和「onCancel」中發送回傳。
」類別中就會有一個「
postId」。如果該用戶未透過「Facebook 登入」登入,當用戶點擊取消時,也會調用此方法。 當您要求發佈權限時,可能會發生下列錯誤:
這個錯誤訊息表示您的應用程式在先前的要求尚未完成處理之前,就已經開始要求新的權限了。所有權限要求皆為非同步處理,而且在先前要求完成處理前,您無法要求新權限。
請參閱 SDK 中提供的應用程式範例(如 Scrumptious 或 Hello Facebook),瞭解如何以多個步驟要求新權限。
若紀錄中有錯誤,很可能是因為要求從未執行。若要執行「GraphRequest」,請調用「executeAsync」方法。
若要登入或使用原生分享對話框,您必須告知 Facebook 登入您應用程式所需的密鑰。
這是一個密鑰雜湊,亦即登入您應用程式所用密鑰的 SHA-1 雜湊。一般而言至少會使用兩個不同的密鑰:一個用於開發和除錯,另一個用於發行。請確保這兩個數值都已加入您的應用程式設定頁面。
如需詳細資訊,請參閱 Android SDK 新手指南:建立開發密鑰雜湊。
最常見的原因是您未在「AndroidManifest.xml」中設定「ContentProvider」。請務必將該項目連同您的應用程式編號一起加入「AndroidManifest.xml」檔案。請參考在 Android 分享:必要條件。