我使用Display.screenshot()来获取当前显示屏幕的屏幕快照。我的应用程序已设置为允许的所有可用进程,它在所有设备应用程序中都运行良好,但在Facebook和Twitter应用程序上却不起作用--在这些应用程序上,我得到了一个例外:
错误: net.rim.device.api.system.ControlledAccessException:未经授权试图附加到此应用程序
我该怎么做才能克服这个问题?
发布于 2013-05-31 16:26:58
您似乎是在代码中的某个地方调用Application.getApplication()。
您的ApplicationMenuItem代码通常在UI应用程序中运行,该应用程序的菜单是从其启动的。因此,当您在facebook应用程序中单击ApplicationMenuItem时,它将在facebook应用程序的事件分派器线程中执行。
但是,由于您的代码不是facebook应用程序的一部分,所以它无法使用Application.getApplication()方法访问其应用程序对象。
如果您没有亲自调用此方法,那么Display.screenshot()可能会在内部调用它。要解决这个问题,您需要在应用程序的事件分派器线程中运行代码。这可以通过使用特殊方法addMenuItem(long, ApplicationMenuItem, ApplicationDescriptor)来完成,同时注册菜单项并将其传递给应用程序描述符。
https://stackoverflow.com/questions/16776402
复制相似问题