我正面临将Android平台上的Facebook原生应用程序集成到我的Android原生应用程序的问题.
问题:用户在FB应用程序中并单击与我的应用程序对应的链接.应用程序应启动我的应用程序(预期行为),但FB应用程序启动Google Play商店(实际行为).
我已经按照Facebook开发者页面提供的本地链接程序进行了访问:http: //developers.facebook.com/docs/mobile/android/deep_linking/
我使用JDK Keytool生成Hash密钥.但我发现没有错误没有我的Eclipse Logcat像无效密钥.我在这里错过了什么,请帮帮我.
提前致谢
我在Android应用程序中登录facebook用户有问题.我希望用户使用他们的Facebook帐户登录我的系统但是当我点击登录按钮时,Facebook本机应用程序启动,用户输入电子邮件和密码,然后本机应用程序关闭,我的应用程序再次启动 我不想使用原生应用程序进行此登录进程我想打开Facebook登录弹出窗口,就像其他手机没有Facebook本机应用程序.
我怎样才能做到这一点?谢谢
编辑:
我使用以下方法登录
protected void loginToFacebook()
{
if( !mFacebook.isSessionValid() ) {
Toast.makeText(mActivity, "logining", Toast.LENGTH_SHORT).show();
mFacebook.authorize(mActivity,permissions, new LoginDialogListener());
}
else {
try {
JSONObject json = Util.parseJson(mFacebook.request("me"));
String facebookID = json.getString("id");
String firstName = json.getString("first_name");
String lastName = json.getString("last_name");
String email = json.getString("email");
Toast.makeText(mActivity, mFacebook.getAccessToken()+email+"-" + firstName + " " + lastName + ". No need to re-authorize.", Toast.LENGTH_SHORT).show();
appState.mFbToken = mFacebook.getAccessToken();
appState.mFbEmail = email;
mFacebookListener.onFacebookLoginSelected();
}
catch( Exception error ) {
Toast.makeText( mActivity, error.toString(), Toast.LENGTH_SHORT).show();
}
}
} …Run Code Online (Sandbox Code Playgroud) 我试图从我的Android活动中调用Facebook授权,但由于某种原因,它从未调用onActivityResult.
我按照官方教程,我甚至创建了一个非常简单的应用程序,以便尝试此功能:
public class SimpleFacebookActivity extends Activity {
private EditText console;
private Facebook facebook = new Facebook(APP_ID);
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
this.console = (EditText)super.findViewById(R.id.console);
this.console.append("Started\n\n");
String text = Integer.toString(super.getIntent().getFlags() & Intent.FLAG_ACTIVITY_NO_HISTORY);
this.console.append(text);
this.facebook.authorize(this, new DialogListener() {
@Override
public void onComplete(Bundle values) {}
@Override
public void onFacebookError(FacebookError error) {}
@Override
public void onError(DialogError e) {}
@Override
public void onCancel() {}
});
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
this.console.append("onActivityResult, request code: …Run Code Online (Sandbox Code Playgroud) java android facebook facebook-authentication facebook-android-sdk