1

我创建了一个扩展 Activity 的类,它将提示用户选择电子邮件客户端并发送电子邮件。如果我从 MainActivity 的 onCreate 中调用它,我可以让这个类完美地工作。但是,一旦 OpenGL 启动,一旦 OpenGL 循环接管,我不知道如何启动这个 Activity。我尝试将 MainActivity 上下文传递给我的 OpenGL 线程并启动电子邮件活动,例如:

// This starts a new activity and sends the email with the text file
Intent emailIntent = new Intent(context, SendEmailActivity.class);
String filePath = Environment.getExternalStorageDirectory().toString() + "/MoCap/TomsFile.txt";
emailIntent.putExtra("filePath", filePath);
emailIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(emailIntent);

它会很好地启动我的活动。但是,在我发送完电子邮件后,我回到了 OpenGL 1285 内存越界错误。有什么想法吗?

4

2 回答 2

0

我认为您使用 GLSurfaceView 来使用 OpenGL。如果是这样,请在发送电子邮件活动之前尝试 GLSurfaceView.onPause()。当回到 OpenGL 上的 Activity 时,调用 GLSurfaceView.onResume();

于 2013-06-28T01:20:17.470 回答
0

我在这里找到了我的问题的答案: Finishing an Activity from a context

((Activity) context).finish();我打电话后需要添加startActivity

于 2013-06-28T13:10:29.610 回答