我有一个使用Facebook登录的应用程序,已经使用Facebook中的SHA定义了哈希.
该应用程序昨天工作正常,但突然停止工作,我甚至将代码恢复到以前的功能版本,但没有任何改变.
每次我尝试登录时只看到一个加载微调器,一秒钟后消失,没有任何反应,我没有错误的日志,所以我不知道发生了什么.
我的登录按钮位于片段内,我正在使用此代码来管理它
public class TourFragmentFacebook extends Fragment {
CallbackManager callbackManager;
View v;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
v = inflater.inflate(R.layout.fragment_facebook , container, false);
FacebookSdk.sdkInitialize(v.getContext());
LoginButton loginButton = (LoginButton) v.findViewById(R.id.login_button);
loginButton.setFragment(this);
loginButton.setReadPermissions(Arrays.asList("public_profile"));
callbackManager = CallbackManager.Factory.create();
LoginManager.getInstance().registerCallback(callbackManager,
new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
Log.d("app", "success");
}
@Override
public void onCancel() {
// App code
Log.d("app", "cancel");
}
@Override
public void onError(FacebookException exception) {
// App code
Log.d("app", "error");
}
});
return v;
}
public static TourFragmentFacebook newInstance(String text) {
TourFragmentFacebook f = new TourFragmentFacebook ();
Bundle b = new Bundle();
b.putString("msg", text);
f.setArguments(b);
return f;
}}
Run Code Online (Sandbox Code Playgroud)
我找到了答案,希望对其他人有用
onActivityResult方法丢失了,所以没有办法触发facebook事件,我只添加了这段代码,现在一切正常
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
callbackManager.onActivityResult(requestCode, resultCode, data);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
517 次 |
| 最近记录: |