在libgdx android上共享文本

时间:2014-06-26 22:14:50

标签: android libgdx

我正在尝试在libgdx游戏中创建一个分享按钮。我已按照本指南https://github.com/libgdx/libgdx/wiki/Interfacing-with-platform-specific-code,但在调用接口方法时,出现此错误:

06-26 23:57:31.594: W/System.err(27789): java.lang.NullPointerException
06-26 23:57:31.596: W/System.err(27789):    at android.app.Activity.startActivityForResult(Activity.java:3436)
06-26 23:57:31.597: W/System.err(27789):    at android.app.Activity.startActivityForResult(Activity.java:3393)
06-26 23:57:31.599: W/System.err(27789):    at android.app.Activity.startActivity(Activity.java:3644)
06-26 23:57:31.601: W/System.err(27789):    at android.app.Activity.startActivity(Activity.java:3607)
06-26 23:57:31.602: W/System.err(27789):    at com.mimostudios.utils.Share.shareScore(Share.java:18)
06-26 23:57:31.603: W/System.err(27789):    at com.mimostudios.policecarracing.android.AndroidShare.shareScore(AndroidShare.java:15)
06-26 23:57:31.604: W/System.err(27789):    at com.mimostudios.policecarracing.MenuScreen.render(MenuScreen.java:47)
06-26 23:57:31.605: W/System.err(27789):    at com.badlogic.gdx.Game.render(Game.java:46)
06-26 23:57:31.607: W/System.err(27789):    at com.badlogic.gdx.backends.android.AndroidGraphics.onDrawFrame(AndroidGraphics.java:414)
06-26 23:57:31.608: W/System.err(27789):    at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1523)
06-26 23:57:31.609: W/System.err(27789):    at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1240)

接口调用的方法是

12 public void shareScore(String title, String message) {
13  Intent share = new Intent(Intent.ACTION_SEND);
14  share.setType("text/plain");
15  share.putExtra(Intent.EXTRA_TEXT, message);
16  try {
17      Intent finalIntent = Intent.createChooser(share, title); 
18      startActivity(finalIntent); 
19  } catch (Exception e) {
20      System.out.println("error: " + e.getMessage());
21      e.printStackTrace();
22  }
23 }

我还在manifest.xml中添加了Share Activity

<activity android:name="com.mimostudios.utils.Share"></activity>

有什么想法吗? 如果我遗漏了一些相关信息,请告诉我,这是我的第一个问题!

1 个答案:

答案 0 :(得分:0)

我刚刚找到了解决方案,基于此:Start a new Activity from non Activity class

我尝试使用的类是从Activity扩展,因为我认为这是类启动新Activity的唯一方法。 但是,如果将上下文传递给该类的构造函数,则可以从非Activity类启动Activity。之后,您可以从上下文中调用方法startActivity。