Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何以编程方式从另一个应用程序退出blackberry应用程序?_Blackberry - Fatal编程技术网

如何以编程方式从另一个应用程序退出blackberry应用程序?

如何以编程方式从另一个应用程序退出blackberry应用程序?,blackberry,Blackberry,如何以编程方式从另一个应用程序退出blackberry应用程序 e、 g.在Blackberry中,我安装了两个应用程序,比从第一个应用程序退出第二个应用程序或从我的应用程序退出到另一个应用程序所需的多。最干净的方法是在要关闭的应用程序中实现接口GlobalEventListener。然后,从呼叫应用程序发送一个带有您自己的自定义代码的全局事件,并让监听应用程序以可控方式自行关闭 例如: 在要关闭的应用程序中: public class YourCustomApp extends

如何以编程方式从另一个应用程序退出blackberry应用程序


e、 g.在Blackberry中,我安装了两个应用程序,比从第一个应用程序退出第二个应用程序或从我的应用程序退出到另一个应用程序所需的多。

最干净的方法是在要关闭的应用程序中实现接口
GlobalEventListener
。然后,从呼叫应用程序发送一个带有您自己的自定义代码的全局事件,并让监听应用程序以可控方式自行关闭

例如:

在要关闭的应用程序中:

        public class YourCustomApp extends UiApplication implements GlobalEventListener {
            public static final long PID = <unique id for your app here>;
            public static final int CLOSE_APP_CODE = <your code here>;

            public void eventOccurred(long pid, int msgCode, int data1, Object object0, Object object1) {
                if(pid == PID){
                    switch(msgCode){
                        case CLOSE_APP_CODE:
                            controlledClose(); //This method could be, System.exit(0) if no other action is required
                            break;
                    }
                }
            }

        }
在第二个代码段中,应该用正确的代码替换int和long代码。调用应用程序应传递正确的值。你也可以将代码放在一个库中,让两个应用程序都使用其中的值。确保PID在系统范围内是唯一的,以免与系统中的其他应用程序发生冲突。一个好的做法是使用应用程序的完整限定包名,然后右键单击eclipse插件中的->将字符串转换为长字符串

更新:
黑客方法:你可以尝试使用EventInjection从你的应用程序中注入可以关闭某个应用程序的组合键。例如,按下ESC键时相机应用程序会自动关闭。所以我们可以试着用这条线来关闭它:

EventInjector.invokeEvent( new EventInjector.KeyCodeEvent(EventInjector.KeyCodeEvent.KEY_DOWN,Characters.ESCAPE, 0));
这种方法极不可靠。有时,它不起作用,您可能需要通过在每个注入事件之后添加短
Thread.sleep
调用来微调注入。或者您可能需要从Ui线程调用注入代码


请记住为您的应用程序分配密钥注入权限。

感谢您的重播,但我需要退出其他应用程序,如Facebook、Twitter或默认黑莓应用程序,如camera、wifi,因此如何退出或阻止或应用程序在后台运行。其他应用程序。不是我做的,所以我如何管理它。你不能这样做,因为它是由操作系统管理的。没有杀戮机制。最多,你可以将另一个应用放在后台。谢谢你的支持,你有事件注入的例子吗?
EventInjector.invokeEvent( new EventInjector.KeyCodeEvent(EventInjector.KeyCodeEvent.KEY_DOWN,Characters.ESCAPE, 0));