私は自分のAndroidアプリにFBログインを統合しようとしていますが、前の質問の手順をすでに実行しているので、反対票を投じたり、複製したりしないでください。ウィンドウがポップアップすると、アプリが正しく構成されていないというエラーが表示されます。
私は次の方法でキーを生成しています
C:\Program Files\Adobe\Adobe Dreamweaver CS6\JVM\bin>keytool -exportcert -alias
androiddebugkey -keystore "C:\Users\Marc\.android\debug.keystore" | "C:\Users\Ma
rc\openssl\bin\openssl" sha1 -binary | "C:\users\marc\openssl\bin\openssl" base6
4
Enter keystore password: android
THIS SHOWS A KEY
私のFacebookアプリ設定パネルでは、オプションは次のように設定されています。
パッケージ名:app.android.amazingjobs
クラス名:app.android.amazingjobs.activity_mainmenuこれは.javaクラスまたはXMLアクティビティ名である必要がありますか?
キーハッシュ:MY KEY
コードは次のとおりです。
package app.android.amazingjobs;
import android.os.Bundle;
import android.os.Handler;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.view.View.OnClickListener;
public class Mainmenu extends Activity {
private static final String FACEBOOK_APPID = "123456789";
private static final String FACEBOOK_PERMISSION = "email, publish_stream";
private final Handler mFacebookHandler = new Handler();
private TextView loginStatus;
private FacebookConnector facebookConnector;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_mainmenu);
Button Searchbutton = (Button) findViewById(R.id.JobSearchButton);
Searchbutton.setOnClickListener(StartSearch);
this.facebookConnector = new FacebookConnector(FACEBOOK_APPID, this, getApplicationContext(), new String[] {FACEBOOK_PERMISSION});
if (facebookConnector.getFacebook().isSessionValid()) {
} else {
facebookConnector.login();
}
}
private OnClickListener StartSearch = new OnClickListener() {
public void onClick(View v) {
Intent intent = new Intent(Mainmenu.this, SearchForJobs.class);
startActivity(intent);
}
};
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_mainmenu, menu);
return true;
}
}
編集
Eclipseのlogcatは、Facebookログインのロード中に次のメッセージを表示します。
10-28 19:37:27.596: D/ATRecorder(12643): com.htc.autotest.dlib.RecordEngine in loader dalvik.system.DexClassLoader@405279f0
10-28 19:37:27.616: D/WindowManagerImpl(12643): addView, new view, mViews[0]: com.android.internal.policy.impl.PhoneWindow$DecorView@40522bf0
10-28 19:37:31.220: D/ATRecorder(12643): com.htc.autotest.dlib.RecordEngine in loader dalvik.system.DexClassLoader@4053b308
10-28 19:37:31.340: D/Facebook-Util(12643): GET URL: https://graph.facebook.com/414522241948993?format=json&fields=supports_attribution
10-28 19:37:32.381: D/WindowManagerImpl(12643): finishRemoveViewLocked, mViews[0]: com.android.internal.policy.impl.PhoneWindow$DecorView@40522bf0
10-28 19:37:33.082: D/dalvikvm(12643): GC_CONCURRENT freed 250K, 47% free 3036K/5639K, external 0K/0K, paused 6ms+3ms
10-28 19:37:34.483: D/NativeCrypto(12643): returned from sslSelect() with result 1, error code 2
10-28 19:37:34.673: D/Facebook-publish(12643): Unsupported get request.
10-28 19:38:50.817: D/WindowManagerImpl(12643): addView, new view, mViews[0]: com.android.internal.policy.impl.PhoneWindow$DecorView@4052d1d8
10-28 19:38:54.221: W/KeyCharacterMap(12643): Can't open keycharmap file
10-28 19:38:54.221: W/KeyCharacterMap(12643): Error loading keycharmap file '/system/usr/keychars/atmel-touchscreen.kcm.bin'. hw.keyboards.65537.devname='atmel-touchscreen'
10-28 19:38:54.221: I/KeyCharacterMap(12643): Using default keymap: /system/usr/keychars/qwerty.kcm.bin
10-28 19:38:54.571: D/WindowManagerImpl(12643): finishRemoveViewLocked, mViews[0]: com.android.internal.policy.impl.PhoneWindow$DecorView@4052d1d8
アップデート:
確かにジェシーは正しいようです、それは間違ったキーを持っている場合です、キーツールが私にパスワードを要求していても、私はまだ間違ったパスワードを使用していました、しかしなぜ私はlogcatメッセージを受け取らなかったのかわかりません、私は実装しましたここからのコード:
http://p-xr.com/implementing-facebook-into-your-app-invalid-key-with-keytool/
これにより、アプリ構成で使用する正しいキーがlogcatに出力されます。
彼の助けをくれたジェシーに感謝します