当有多个入口点的应用程序无法删除 [英] Application cannot be deleted when has multiple entry points

查看:217
本文介绍了当有多个入口点的应用程序无法删除的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

编辑:使用简单code。
我有一个直到最近(我升级到6.0.0.600在我的火炬)黑莓应用程序可以删除。现在,我甚至可以,如果我使用不javaloader -u擦除(模块中使用)和UI上下文菜单或菜单身体已经为删除的选项。下面的code只需要一个应用程序描述与启动备选入口点与参数startVibrate。入口点code如下。

Using simpler code. I have a blackberry app that until recently (I upgraded to 6.0.0.600 on my torch) could be deleted. Now I can't even if I use javaloader -u erase (module in use) and the UI context menu or physical menu has no option for delete. The code below just requires an app descriptor with an alternate entry point on startup with parameters "startVibrate". The entry points code is below.

   package mypackage;

import net.rim.device.api.system.Alert;
import net.rim.device.api.system.ApplicationDescriptor;
import net.rim.device.api.system.ApplicationManager;
import net.rim.device.api.ui.container.MainScreen;
import net.rim.device.api.ui.UiApplication;

/**
 * This class extends the UiApplication class, providing a
 * graphical user interface.
 */

public class ScheduleAppDemo extends UiApplication
{
    public static void main(String[] args)
    {
        if (args != null && args.length > 0 && "startVibrate".equals(args[0]))
        {
            scheduleVibrate();
        }
        else
        {
            ScheduleAppDemo app = new ScheduleAppDemo();
            app.enterEventDispatcher();
        }
    }
    public ScheduleAppDemo()
    {
        ScheduleAppDemoScreen screen = new ScheduleAppDemoScreen();
        pushScreen(screen);
    }

    public class ScheduleAppDemoScreen extends MainScreen
    {
        public ScheduleAppDemoScreen()
        {
            setTitle("Schedule app demo");
        }
    }   

    private static void scheduleVibrate()
    {
        Alert.startVibrate(2550);
        ApplicationDescriptor current = ApplicationDescriptor.
        currentApplicationDescriptor();
        current.setPowerOnBehavior(ApplicationDescriptor.DO_NOT_POWER_ON);
        ApplicationManager manager = ApplicationManager.getApplicationManager();
        manager.scheduleApplication(current, System.currentTimeMillis() 
                + 60000, true);
    }
}

基本上,这表明你的是,它振动的每一分钟。不幸的是证据表明是它出现在应用程序管理器中的时候保持后台进程运行,然后只需再次调用它时,它的时间来运行再次出现。这是RIM的示例应用程序。删除所有替换入口点在应用程序descriptor.xml允许应用程序被删除。除了修改,重装鳕鱼,然后将其删除;我怎样才能删除应用程序。

Basically what this shows you is that it vibrates every minute. Unfortunately evidence says it appears the Application Manager keeps the background process running during the time and then just calls it again when it's time to run occurs again. This is the sample app from RIM. Deleting all Alternate Entry Points in the Application descriptor.xml allows the app to be deleted. Other than modifying that, reloading the cods, and then deleting it; how can I delete the app.

推荐答案

该行为是正确的,在尽可能这正是如何与备选入口点的应用程序会表现领域。

The behavior is 'correct', in as far as this is exactly how an application with an alternate entry point would behave in the field.

当应用程序有一个备选入口点,删除它只是标记为删除。当设备重新启动,.cods重新加载时,会出现实际删除。

When an application has an alternate entry point, deleting it only marks it for deletion. The actual deletion occurs when the device is restarted and the .cods are reloaded.

这就是为什么,当用户试图删除具有在后台运行的进程备选入口点的应用程序,一个对话框,总是弹出让用户知道应用程序将在重新启动被删除,并要求他们是否想现在重新启动。

This is why, when a user tries to delete an application that has an alternate entry point with a running process in the background, a dialog box always pops up letting the user know that the application will be removed on restart, and asking whether they would like to reboot now.

直到设备重新启动,后台进程将继续运行。

Until the device is rebooted, the background process will continue to run.

这篇关于当有多个入口点的应用程序无法删除的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆