5

Facebookをアプリ内に統合しようとしています。しかし、クリックするとすぐにfbphotoエラーが発生しますandroid.content.res.Resources$NotFoundException。実行時に適切なリソースが見つからないため、エラーがスローされることは知っています。

エラーがでスローされることがわかりましたfacebook.authorize(this, new String[] { "email", "publish_stream"}, new DialogListener() {}。しかし、根本的な原因はまだありません。

fbphoto.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View arg0) {
            // TODO Auto-generated method stub
            loginToFacebook();
        }
    });

public void loginToFacebook()
{
if(!facebook.isSessionValid())
    {
        facebook.authorize(this, new String[] { "email", "publish_stream"}, new DialogListener() {

        });
    }

02-08 02:57:58.236: E/AndroidRuntime(1582): FATAL EXCEPTION: main
02-08 02:57:58.236: E/AndroidRuntime(1582): android.content.res.Resources$NotFoundException: String resource ID #0x7f050011
02-08 02:57:58.236: E/AndroidRuntime(1582):     at android.content.res.Resources.getText(Resources.java:201)
02-08 02:57:58.236: E/AndroidRuntime(1582):     at android.content.res.Resources.getString(Resources.java:254)
02-08 02:57:58.236: E/AndroidRuntime(1582):     at android.content.Context.getString(Context.java:183)
02-08 02:57:58.236: E/AndroidRuntime(1582):     at com.facebook.widget.WebDialog.onCreate(WebDialog.java:188)
02-08 02:57:58.236: E/AndroidRuntime(1582):     at android.app.Dialog.dispatchOnCreate(Dialog.java:307)
02-08 02:57:58.236: E/AndroidRuntime(1582):     at android.app.Dialog.show(Dialog.java:225)
02-08 02:57:58.236: E/AndroidRuntime(1582):     at com.facebook.AuthorizationClient$WebViewAuthHandler.tryAuthorize(AuthorizationClient.java:462)
02-08 02:57:58.236: E/AndroidRuntime(1582):     at com.facebook.AuthorizationClient.tryCurrentHandler(AuthorizationClient.java:210)
02-08 02:57:58.236: E/AndroidRuntime(1582):     at com.facebook.AuthorizationClient.tryNextHandler(AuthorizationClient.java:189)
02-08 02:57:58.236: E/AndroidRuntime(1582):     at com.facebook.AuthorizationClient.authorize(AuthorizationClient.java:117)
02-08 02:57:58.236: E/AndroidRuntime(1582):     at com.facebook.AuthorizationClient.startOrContinueAuth(AuthorizationClient.java:98)
02-08 02:57:58.236: E/AndroidRuntime(1582):     at com.facebook.Session.tryLegacyAuth(Session.java:1096)
02-08 02:57:58.236: E/AndroidRuntime(1582):     at com.facebook.Session.authorize(Session.java:893)
02-08 02:57:58.236: E/AndroidRuntime(1582):     at com.facebook.Session.open(Session.java:957)
02-08 02:57:58.236: E/AndroidRuntime(1582):     at com.facebook.Session.openForPublish(Session.java:415)
02-08 02:57:58.236: E/AndroidRuntime(1582):     at com.facebook.android.Facebook.openSession(Facebook.java:319)
02-08 02:57:58.236: E/AndroidRuntime(1582):     at com.facebook.android.Facebook.authorize(Facebook.java:313)
02-08 02:57:58.236: E/AndroidRuntime(1582):     at com.facebook.android.Facebook.authorize(Facebook.java:149)
02-08 02:57:58.236: E/AndroidRuntime(1582):     at com.example.splashscreen.SecondScreen.loginToFacebook(SecondScreen.java:110)
02-08 02:57:58.236: E/AndroidRuntime(1582):     at com.example.splashscreen.SecondScreen$1.onClick(SecondScreen.java:73)
02-08 02:57:58.236: E/AndroidRuntime(1582):     at android.view.View.performClick(View.java:2485)
02-08 02:57:58.236: E/AndroidRuntime(1582):     at android.view.View$PerformClick.run(View.java:9080)
02-08 02:57:58.236: E/AndroidRuntime(1582):     at android.os.Handler.handleCallback(Handler.java:587)
02-08 02:57:58.236: E/AndroidRuntime(1582):     at android.os.Handler.dispatchMessage(Handler.java:92)
02-08 02:57:58.236: E/AndroidRuntime(1582):     at android.os.Looper.loop(Looper.java:123)
02-08 02:57:58.236: E/AndroidRuntime(1582):     at android.app.ActivityThread.main(ActivityThread.java:3683)
02-08 02:57:58.236: E/AndroidRuntime(1582):     at java.lang.reflect.Method.invokeNative(Native Method)
02-08 02:57:58.236: E/AndroidRuntime(1582):     at java.lang.reflect.Method.invoke(Method.java:507)
02-08 02:57:58.236: E/AndroidRuntime(1582):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
02-08 02:57:58.236: E/AndroidRuntime(1582):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
02-08 02:57:58.236: E/AndroidRuntime(1582):     at dalvik.system.NativeStart.main(Native Method)
4

2 に答える 2

8

このエラーは、IntelliJを実行していて、プロジェクトにライブラリモジュールとしてFacebookソースを含めている場合にも発生することに注意してください。

実際にこれが発生する原因は不明ですが、Facebookプロジェクト(ツリー全体)がIntelliJプロジェクトにライブラリモジュールとして含まれている場合、Facebookのstrings.xmlファイルが非常に単純なstrings.xmlファイルで上書きされて壊れることがあります。 Facebookのログイン画面にResourcesNotFound例外があるアプリ。それだけでなく、Facebook AndroidManifestも上書きされ、コンパイル時の問題が発生することがあります。

偽のstrings.xmlファイルとAndroidManifest.xmlファイルを置き換えると、問題が解決します。

于 2013-06-14T06:31:06.677 に答える
4

スタックトレースから、エラーは次の行が原因で発生します。

spinner.setMessage(getContext().getString(R.string.com_facebook_loading));

ソースコードはこちら

リソースはres/values/string.xmlで正しく定義されています

明らかに、エラーはfacebook-android-sdkにはありません。

プロジェクトの設定に問題があると思います。このガイドに従って、プロジェクトを適切に設定できます。

于 2013-02-07T21:53:45.950 に答える