2

我正在开发一个具有后台服务功能的应用程序。我已经使用“如何同时运行后台服务应用程序和 UIApplication”的答案成功实现了后台服务

当我在模拟器上安装应用程序时,我看不到应用程序图标。我已经设置和取消设置属性Do not display the application icon on the BlackBerry home screen.BlackBerry_App_Descriptor.xml但应用程序图标仍然不显示。

这是默认功能吗?选择的应用程序Alternate entry point不显示应用程序图标吗?

如何启用具有后台服务功能的应用程序图标?

4

2 回答 2

2

为了显示 App Icon,您需要Icons在文件中指定两个(图像)BlackBerry_App_Descriptor.xml。在 下Application Icons,添加两个图像文件并为其中一个图像选择“翻转”。即使将其悬停或单击,这也会为您的应用显示一个图标。

于 2013-03-26T05:26:32.117 回答
2

你绝对可以做你所要求的。

您尚未显示该BlackBerry_App_Descriptor.xml文件,但我的猜测是您的问题出在哪里。对于像您这样的应用程序,您可能有 2 或 3 个不同的入口点。很多时候,通常UiApplication是一个入口点,然后可能有一个后台服务入口点,或者可能是一个单独的推送通知入口点。

对于其中的每一个,您可以在 BlackBerry_App_Descriptor.xml 文件中指定属性。对于您的主 UI 应用程序,它应该在启动时自动运行并且不要在未选中的 BlackBerry 主屏幕上显示应用程序选中!)。然后,您还需要确保在Icon Files部分中指定了图标文件。不过,您实际上并不需要翻转图标,尽管您当然可以添加它。

<AlternateEntryPoint Title="MyAppName" MainMIDletName="" ArgumentsForMain="" HomeScreenPosition="0" StartupTier="7" 
                     IsSystemModule="false" IsAutostartup="false" 
                     hasTitleResource="false" TitleResourceBundleKey="" TitleResourceBundleName="" 
                     TitleResourceBundleClassName="" TitleResourceBundleRelativePath="">
  <Icons>
    <Icon CanonicalFileName="res/img/icon.png" IsFocus="false"/>
  </Icons>
  <KeywordResources KeywordResourceBundleName="" KeywordResourceBundleRelativePath="" KeywordResourceBundleClassName="" KeywordResourceBundleKey=""/>
</AlternateEntryPoint>

然后,对于您的后台服务,您将选中启动时自动运行不在 BlackBerry 主屏幕上显示应用程序。

<AlternateEntryPoint Title="MyBackgroundService" MainMIDletName="" ArgumentsForMain="-background" HomeScreenPosition="0" StartupTier="7" 
                     IsSystemModule="true" IsAutostartup="true" 
                     hasTitleResource="false" TitleResourceBundleKey="" TitleResourceBundleName="" 
                     TitleResourceBundleClassName="" TitleResourceBundleRelativePath="">
  <Icons>
    <Icon CanonicalFileName="res/img/icon.png" IsFocus="false"/>
  </Icons>
  <KeywordResources KeywordResourceBundleName="" KeywordResourceBundleRelativePath="" KeywordResourceBundleClassName="" KeywordResourceBundleKey=""/>
</AlternateEntryPoint>

参考

Also, see this BlackBerry reference document, and take a look at the section titled Scheduling processes to run periodically.

于 2013-03-26T05:31:39.627 回答