0

私は自分の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に出力されます。

彼の助けをくれたジェシーに感謝します

4

1 に答える 1

0

クラス名: app.android.amazingjobs.activity_mainmenu これは .java クラスですか、それとも XML アクティビティ名ですか?

.java クラスなので、「app.android.amazingjobs.MainActivity」のようなものです。

また、端末コマンドを使用して正しいハッシュ キーを取得するのに苦労している人もいるようです。正しいハッシュ キーを取得するには、このより使いやすい方法を試すことをお勧めします。

ここで答えを参照してください: Android: Facebook ログインが機能しません

于 2012-10-25T22:11:21.547 に答える