Facebook登录是一种第三方身份验证服务,允许用户使用他们的Facebook账户登录应用程序。发布应用程序时,通常会生成两种类型的APK文件:debug APK和release APK。
在发布应用程序之前使用release APK,但不是在发布相同APK之后,可能是因为:
AndroidManifest.xml
)都已经正确设置。以下是一个简单的示例,展示如何在Android应用中集成Facebook登录:
<!-- AndroidManifest.xml -->
<uses-permission android:name="android.permission.INTERNET"/>
<meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/facebook_app_id"/>
<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>
// MainActivity.java
import com.facebook.CallbackManager;
import com.facebook.FacebookCallback;
import com.facebook.FacebookException;
import com.facebook.login.LoginResult;
import com.facebook.login.widget.LoginButton;
import java.util.Arrays;
public class MainActivity extends AppCompatActivity {
private CallbackManager callbackManager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
callbackManager = CallbackManager.Factory.create();
LoginButton loginButton = findViewById(R.id.login_button);
loginButton.setReadPermissions(Arrays.asList("email", "public_profile"));
loginButton.registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
// Handle successful login
}
@Override
public void onCancel() {
// Handle login cancel
}
@Override
public void onError(FacebookException error) {
// Handle login error
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
callbackManager.onActivityResult(requestCode, resultCode, data);
super.onActivityResult(requestCode, resultCode, data);
}
}
通过以上步骤和示例代码,可以确保在发布应用程序前后,Facebook登录功能都能正常工作。
领取专属 10元无门槛券
手把手带您无忧上云