Blackberry 浏览器上的事件注入器

Blackberry 浏览器上的事件注入器,blackberry,browser,java-me,Blackberry,Browser,Java Me,如何在blackberry的浏览器上使用eventinjector关闭浏览器。我想模拟当浏览器加载时在手持设备上按下ESCAPE键,以便应用程序退出浏览器并返回主屏幕。我自己也尝试过,但没有成功。非常感谢您的帮助。如果您真的想控制浏览器,您可以在应用程序中使用BrowserField,BrowserField2 您还可以插入监听器,以便按键或跟踪当前可见的应用程序。但这将是非常棘手的,因为用户经常在应用程序之间切换,而且现在有相当多的设备具有触摸界面(用户可以在不使用esc按钮的情况下关闭页面)

如何在blackberry的浏览器上使用eventinjector关闭浏览器。我想模拟当浏览器加载时在手持设备上按下ESCAPE键,以便应用程序退出浏览器并返回主屏幕。我自己也尝试过,但没有成功。非常感谢您的帮助。

如果您真的想控制浏览器,您可以在应用程序中使用
BrowserField
BrowserField2


您还可以插入监听器,以便按键或跟踪当前可见的应用程序。但这将是非常棘手的,因为用户经常在应用程序之间切换,而且现在有相当多的设备具有触摸界面(用户可以在不使用esc按钮的情况下关闭页面)。

如果您真的想控制浏览器,您可以在应用程序中使用
BrowserField
BrowserField2


您还可以插入监听器,以便按键或跟踪当前可见的应用程序。但这将非常棘手,因为用户经常在应用程序之间切换,而且现在有相当多的设备具有触摸界面(用户可以在不使用esc按钮的情况下关闭页面)。

不确定为什么要关闭浏览器,但我假设您知道这是正确的做法(此外,Eugen已经建议如何使用
BrowserField
让用户从应用程序中浏览并避免此问题)

无论如何,我有一些代码可以用来关闭摄像头(我的应用程序确实是故意启动的)。你可能也可以用同样的方法关闭浏览器。这是一个黑客行为,但当时,这是我解决问题的方法:

/**防止模拟按键过快或错过所需的延迟*/
专用静态最终整型按键延迟=100;
/**通过密钥注入杀死摄像机的最大尝试次数*/
专用静态最终int最大按键按下次数=10;
/**用于通过关闭摄像头来确定应用程序何时曝光*/
专用主屏幕MainScreen;
/**用于向下/向上切换键的计数器*/
private int_keyEventCount=0;
公开募捐{
//照片已拍摄,请模拟按ESC键关闭相机应用程序
如果(!\u mainScreen.isExposed()){
int事件=(_keyEventCount%2)=0)?EventInjector.KeyCodeEvent.KEY\u向下:
EventInjector.KeyCodeEvent.KEY\u UP;
EventInjector.KeyEvent injection=新的EventInjector.KeyEvent(事件,Characters.ESCAPE,0);
// http://supportforums.blackberry.com/t5/Java-Development/How-to-use-EventInjector-to-inject-ESC/m-p/74096
注射后();
注射后();
//前后切换..向上键..向下键
_keyEventCount++;
如果(_keyEventCount
My
\u Main Screen
是应通过关闭摄像头应用程序来打开的
屏幕,因此我使用它来测试我是否成功关闭了摄像头。此外,在我的应用程序中,我重置了

_keyEventCount = 0;
每次启动相机时(上面未显示)

更新:

此外,这是my
\u mainScreen对象需要跟踪其是否暴露的代码:

private boolean _isExposed = false;

protected void onExposed() {
    super.onExposed();
    _isExposed = true;
}

protected void onObscured() {
    super.onObscured();
    _isExposed = false;
}

public boolean isExposed() {
    return _isExposed;
}

不知道为什么要关闭浏览器,但我假设您知道这是正确的做法(此外,Eugen已经建议如何使用
BrowserField
让用户从应用程序中浏览并避免此问题)

无论如何,我有一些代码可以用来关闭摄像头(我的应用程序确实是故意启动的)。你可能也可以用同样的方法关闭浏览器。这是一个黑客行为,但当时,这是我解决问题的方法:

/**防止模拟按键过快或错过所需的延迟*/
专用静态最终整型按键延迟=100;
/**通过密钥注入杀死摄像机的最大尝试次数*/
专用静态最终int最大按键按下次数=10;
/**用于通过关闭摄像头来确定应用程序何时曝光*/
专用主屏幕MainScreen;
/**用于向下/向上切换键的计数器*/
private int_keyEventCount=0;
公开募捐{
//照片已拍摄,请模拟按ESC键关闭相机应用程序
如果(!\u mainScreen.isExposed()){
int事件=(_keyEventCount%2)=0)?EventInjector.KeyCodeEvent.KEY\u向下:
EventInjector.KeyCodeEvent.KEY\u UP;
EventInjector.KeyEvent injection=新的EventInjector.KeyEvent(事件,Characters.ESCAPE,0);
// http://supportforums.blackberry.com/t5/Java-Development/How-to-use-EventInjector-to-inject-ESC/m-p/74096
注射后();
注射后();
//前后切换..向上键..向下键
_keyEventCount++;
如果(_keyEventCount
My
\u Main Screen
是应通过关闭摄像头应用程序来打开的
屏幕,因此我使用它来测试我是否成功关闭了摄像头。此外,在我的应用程序中,我重置了

_keyEventCount = 0;
每次启动相机时(未显示)