我正在使用Display.screenshot()
获取当前显示屏幕的屏幕截图。
我的应用程序将所有可用的权限设置为允许,
它适用于所有设备应用程序,但它不适用于Facebook和Twitter应用程序 -
在这些应用程序上,我有一个例外:
错误:net.rim.device.api.system.ControlledAccessException:未经授权尝试附加到此应用程序
我应该怎么做才能克服这个问题?
答案 0 :(得分:4)
您似乎在代码中的某处调用了Application.getApplication()
。
您的ApplicationMenuItem
代码通常在启动菜单的UI应用程序中运行。因此,当您在Facebook应用程序中单击您的ApplicationMenuItem时,它将在facebook app的事件调度程序线程中执行。
但是,由于您的代码不是Facebook应用的一部分,因此无法使用Application.getApplication()
方法访问其应用对象。
如果您不是自己调用此方法,可能会Display.screenshot()
在内部调用它。要解决此问题,您需要在应用程序的事件调度程序线程中运行代码。这可以通过在注册菜单项并将其传递给您的应用程序描述符时使用特殊方法addMenuItem(long, ApplicationMenuItem, ApplicationDescriptor)
来完成。