4

当我尝试UiLifecycleHelper在 Eclipse 和 Unity 之间的插件中调用该类时,出现了几个错误。我将 facebooksdk.jar 复制到libs我的项目文件夹中,然后将其添加到

  • 属性 > Java 构建路径 > 添加 JAR

我还尝试在以下位置简单地添加“库”:

  • 属性 > Android,带有按钮Add...

当我不使用类时没有错误UiLifecycleHelper(没有类的情况下Log.i工作正常)并且没有与 Unity 的连接,通过一个简单的类扩展 Activity,它可以很好地连接到 Facebook。testFuncUiLifecycleHelper

我还按照其他主题中的建议将 Java 编译器设置为 1.6。你知道如何正确地在 facebook.jar和我的项目之间建立联系吗?

以下是日志:

01-05 17:17:53.834: E/dalvikvm(25005): Could not find class 'com.project.aef.MainActivity$1', referenced from method com.project.aef.MainActivity.<init>
01-05 17:17:53.835: E/dalvikvm(25005): Could not find class 'com.facebook.UiLifecycleHelper', referenced from method com.project.aef.MainActivity.onCreate
01-05 17:17:53.841: E/AndroidRuntime(25005): FATAL EXCEPTION: main
01-05 17:17:53.841: E/AndroidRuntime(25005): java.lang.NoClassDefFoundError: com.project.aef.MainActivity$1
01-05 17:17:53.841: E/AndroidRuntime(25005):    at com.project.aef.MainActivity.<init>(MainActivity.java:24)
01-05 17:17:53.841: E/AndroidRuntime(25005):    at java.lang.Class.newInstanceImpl(Native Method)
01-05 17:17:53.841: E/AndroidRuntime(25005):    at java.lang.Class.newInstance(Class.java:1319)
01-05 17:17:53.841: E/AndroidRuntime(25005):    at android.app.Instrumentation.newActivity(Instrumentation.java:1023)

编辑:我在 Twitter 上遇到了类似的问题,我终于将代码更改为使用活动而不是当前代码,我不知道为什么代码在软件之外可以正常工作,而不是当我连接到它时。我还使用 Libgdx 来制作游戏,而不是 Unity。问题解决了。

4

1 回答 1

5

您的问题与 startActivity 有关。你必须正确设置它。这是一个例子:

public class MyActivity extends Activity {
 ...

 static final int PICK_CONTACT_REQUEST = 0;

 protected boolean onKeyDown(int keyCode, KeyEvent event) {
     if (keyCode == KeyEvent.KEYCODE_DPAD_CENTER) {
         // When the user center presses, let them pick a contact.
         startActivityForResult(
             new Intent(Intent.ACTION_PICK,
             new Uri("content://contacts")),
             PICK_CONTACT_REQUEST);
        return true;
     }
     return false;
 }

 protected void onActivityResult(int requestCode, int resultCode,
         Intent data) {
     if (requestCode == PICK_CONTACT_REQUEST) {
         if (resultCode == RESULT_OK) {
             // A contact was picked.  Here we will just display it
             // to the user.
             startActivity(new Intent(Intent.ACTION_VIEW, data));
         }
     }
 }
}

如您所见,您的代码缺少“ Intent ”。这就是为什么你有这个错误

于 2014-01-05T17:28:18.433 回答