1

我正在使用Display.screenshot()获取当前显示屏幕的屏幕截图。我的应用程序已将所有可用权限设置为允许,它适用于所有设备应用程序,但不适用于 Facebook 和 Twitter 应用程序 - 在这些应用程序上我有一个例外:

错误:net.rim.device.api.system.ControlledAccessException:未授权尝试附加到此应用程序

我应该怎么做才能克服这个?

4

1 回答 1

4

您似乎Application.getApplication()在代码中的某个地方调用。

您的ApplicationMenuItem代码通常在启动它的菜单的 UI 应用程序中运行。因此,当您在 facebook 应用程序中单击 ApplicationMenuItem 时,它会在 facebook 应用程序的事件调度程序线程中执行。

但是,由于您的代码不是 facebook 应用程序的一部分,因此无法使用该Application.getApplication()方法访问其应用程序对象。

如果您自己没有调用此方法,则可能Display.screenshot()会在内部调用它。要解决此问题,您需要在应用的事件调度程序线程中运行代码。这可以通过addMenuItem(long, ApplicationMenuItem, ApplicationDescriptor)在注册菜单项并将其传递给您的应用程序描述符时使用特殊方法来完成。

于 2013-05-31T16:26:58.830 回答