【问题标题】:Application cannot be deleted when has multiple entry points有多个入口点时无法删除应用程序
【发布时间】:2011-08-21 23:20:58
【问题描述】:

编辑:使用更简单的代码。 我有一个黑莓应用程序,直到最近(我在我的手电筒上升级到 6.0.0.600)可以被删除。现在,即使我使用 javaloader -u erase(正在使用的模块)并且 UI 上下文菜单或物理菜单没有删除选项,我也不能。下面的代码只需要一个应用程序描述符,在启动时带有一个备用入口点,参数为“startVibrate”。入口点代码如下。

   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 的示例应用程序。删除 Application descriptor.xml 中的所有备用入口点允许删除应用程序。除了修改它,重新加载代码,然后删除它;如何删除应用程序。

【问题讨论】:

    标签: blackberry java-me


    【解决方案1】:

    该行为是“正确的”,因为这正是具有备用入口点的应用程序在现场的行为方式。

    当应用程序具有备用入口点时,删除它只会将其标记为删除。实际删除发生在重新启动设备并重新加载 .cods 时。

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

    在设备重新启动之前,后台进程将继续运行。

    【讨论】:

    • 但问题是,实际上并没有删除按钮。如果您悬停并获取上下文菜单或点击菜单键,无论哪种方式,即使在选项菜单 - > 应用程序管理中,任何地方都没有“删除”选项。见截图:dftr.ca/downloads/fail.png
    • 啊。我现在看到您最近更新到 6.0.0.600。我们一直在看到客户关于该特定操作系统版本的“问题”的报告。我会更多地思考为什么您的应用程序的删除选项消失了,但我不会把它排除在 6.0.0.600 的某种问题之外。
    • 这是一个从未修复的bug。
    • 是的..同样的事情发生在我身上,我也在寻找解决方案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-09-27
    • 1970-01-01
    • 2015-06-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多